I must be missing something here because the Docs make it out as if the below code should work just fine but I get an invalid keypath error... Check this codepen.
var map1 = Immutable.Map({ 'selector': { 'type': 'bar' }});
var map2 = map1.setIn(['selector', 'type'], 'foo');
console.log(map2.toJS());