anchor.diff:      let isRegisteredParentType (tp: Type) =
           inheritedConverterTypes.ContainsKey(tp.FullName)
   
  -    let isRegisteredInherientedType (tp: Type) =
  +    static let deserializeInheritedTypeJsonConverters : JsonConverter[] = [|DeserializeInheritedTypeJsonConverter()|]
  +
  +    member x.IsRegisteredInherientedType (tp: Type) =
           let fullName = tp.FullName
           inheritedConverterTypes.Values
                           |> Seq.concat
  
positive.code:                 let mapSerializer = typedefof<MapSerializer<_,_>>.MakeGenericType mapTypes
                  let mapSerializeMethod = mapSerializer.GetMethod("Serialize")
                  mapSerializeMethod.Invoke(null, [| value; writer; serializer |]) |> ignore
              | true, Kind.Other when isRegisteredInherientedType t ->
                  let typeName = 
                      t.FullName
  
  
negative.code:         writer.WriteEndObject()
  
  module private Cache =
  
      let jsonConverterTypes = ConcurrentDictionary<Type,Kind>()
      let serializationBinderTypes = ConcurrentDictionary<string,Type>()
      let inheritedConverterTypes = ConcurrentDictionary<string,HashSet<Type>>()
  
  open Cache
  type DeserializeInheritedTypeJsonConverter() =
      inherit FSharpJsonConverter()
      override x.CanConvert(t) =
          base.CanConvert(t) && (base.IsRegisteredInherientedType t |> not)
  
  /// Converts F# options, tuples and unions to a format understandable
  /// A derivative of Fable's JsonConverter. Code adapted from Lev Gorodinski's original.
  /// See https://goo.gl/F6YiQk
  and FSharpJsonConverter() =
      inherit Newtonsoft.Json.JsonConverter()
      let advance(reader: JsonReader) =
          reader.Read() |> ignore
  