anchor.diff:              if (!valueWriter).IsNone then valueWriter := Some <| getWriterFunc (dictVal.GetType())
               match !keyWriter, !valueWriter with
               | Some kv, Some vw ->
  -                writer.Write(sprintf "<%s>" names.Item)
  -                writeTag writer names.Key kv key
  -                writeTag writer names.Value vw dictVal
  -                writer.Write(sprintf "</%s>" names.Item)
  +                writer.Write(sprintf "<%s>" name.Item)
  +                writeTag name.Key name writer kv key
  +                writeTag name.Value name writer vw dictVal
  +                writer.Write(sprintf "</%s>" name.Item)
               | _ -> ())
   
       and getGenericWriter (t : Type) = fun () ->
  
positive.code:     let instanceFlags = BindingFlags.Public ||| BindingFlags.Instance
      let staticFlags = BindingFlags.Public ||| BindingFlags.Static
  
      let writeEmpty _ _ = ()
  
      let writeAbstractProperties (writer : TextWriter) (value : obj) =
          ()
  
      /// Determine the name of the TypeInfo based on the given type
  
negative.code:         else None
  
      /// Try to determine a writer function for a dictionary
      and getDictionaryWriter (t : Type) = fun () ->
          if t.HasInterface(typeof<IDictionary>) ||
              t.IsAssignableFrom(typeof<IDictionary>) then
              Some writeDictionary
          else None
  
      /// Try to determine a writer function for array types
      and getArrayWriter (t : Type) = fun () ->
          if t.IsArray then
              if t = typeof<byte[]> then Some ValueTypeSerializer.writeBytes
              elif t = typeof<char[]> then Some ValueTypeSerializer.writeChars
              elif t = typeof<int[]> then Some ListSerializer.writeIntArray
              elif t = typeof<string[]> then Some ListSerializer.writeStrArray
              // other array types will be handled by the IEnumerable writer
              else None
          else None
  
      /// Writer function for a dictionary
      and writeDictionary name (writer : TextWriter) (value : obj) =
          let map : IDictionary = unbox value
          let keyWriter : WriterFunc option ref = ref None
          let valueWriter : WriterFunc option ref = ref None
  