anchor.diff:  
       type System.Type with
           member this.IsValueType = this.GetTypeInfo().IsValueType
  +        member this.IsGenericType = this.GetTypeInfo().IsGenericType
           member this.GetGenericArguments() = this.GetTypeInfo().GenericTypeArguments
           member this.GetCustomAttributes(inherits : bool) : obj[] =
               downcast box(CustomAttributeExtensions.GetCustomAttributes(this.GetTypeInfo(), inherits) |> Seq.toArray)
  
positive.code:     | PojoDU = 4
      | StringEnum = 5
      | DateTime = 6
  
  /// Converts F# options, tuples and unions to a format understandable
  /// by Fable. Code adapted from Lev Gorodinski's original.
  
negative.code:                     then serializer.Serialize(writer, fields.[0])
                      else serializer.Serialize(writer, fields)
                      writer.WriteEndObject()
              | true, Kind.MapOrDictWithNonStringKey ->
                  let mapTypes = t.GetGenericArguments()
                  let mapSerializer = typedefof<MapSerializer<_,_>>.MakeGenericType mapTypes
                  let mapSerializeMethod = mapSerializer.GetMethod("Serialize")
                  mapSerializeMethod.Invoke(null, [| value; writer; serializer |]) |> ignore
              | true, _ ->
                  serializer.Serialize(writer, value)
  
  