code: function denormalizeImmutable(schema, input, unvisit) {
    return Object.keys(schema).reduce(function (object, key) {
      // Immutable maps cast keys to strings on write so we need to ensure
      // we're accessing them using string keys.
      var stringKey = '' + key;
  
      if (object.has(stringKey)) {
        return object.set(stringKey, unvisit(object.get(stringKey), schema[stringKey]));
      } else {
        return object;
      }
    }, input);
  }
docs: Denormalize an immutable entity.
  
  @param  {Schema} schema
  @param  {Immutable.Map|Immutable.Record} input
  @param  {function} unvisit
  @param  {function} getDenormalizedEntity
  @return {Immutable.Map|Immutable.Record}