anchor.diff:          w.Write(name);
           w.Write('>');
   
  +    let injectWriteTag (func : WriterFunc) = 
  +        fun (n : NameInfo) w x -> writeTag n.Name n w func x
  +
   /// Module containing the serialization logic
   /// for value types
   module internal ValueTypeSerializer =
  
positive.code: 
      /// Try to determine the string writer function
      let getStringWriter (t : Type) = fun () ->
          if t = typeof<string> then Some ValueTypeSerializer.writeStringObject else None
  
      /// Try to determine a matching value type writer function
      let getValueTypeWriter (t : Type) = fun () ->
  
negative.code:             | TypeCode.UInt64 -> Some writeUInt64
              | _ -> None
  
      let getValueTypeWriter (t : Type) =
          match getValueTypeInnerWriter t with
          | Some writer ->
              let write (n : NameInfo) w v = SerializerBase.writeTag n.Name n w writer v
              Some write
          | None -> None
  
  /// Serialization logic for list and collection types
  module internal ListSerializer =
  
  