def evolve(serializer, value)
      case value
      when Hash
        evolve_hash(serializer, value)
      when Array
        evolve_array(serializer, value)
      else
        (serializer || value.class).evolve(value)
      end
    end
def evolve(serializer, value)
      case value
      when Hash
        evolve_hash(serializer, value)
      when Array
        evolve_array(serializer, value)
      else
        (serializer || value.class).evolve(value)
      end
    end
Evolve a single key selection with various types of values.

 @api private

 @example Evolve a simple selection.
   selector.evolve(field, 5)

 @param [ Object ] serializer The optional serializer for the field.
 @param [ Object ] value The value to serialize.

 @return [ Object ] The serialized object.

 @since 1.0.0