validateProp = (prop, propName) =>
    Either.of(prop).chain(
      prop =>
        Immutable.Map.isMap(prop)
          ? Either.Right(prop)
          : Either.Left(`Property "${propName}" must be an object`)
    )
Validate that a prop is structured correctly