Returns a copy of the collection with the value at the key path set to the provided value.
A functional alternative to collection.setIn(keypath)
which will also work with plain Objects and Arrays.
setIn(collection: C, keyPath: Iterable, value: any): C;