anchor.diff:            OriginalName = propInfo.Name
             ClsName = propInfo.Name.ToCamelCase()
             GetFunc = Reflection.getObjGetter propInfo
  -          WriteFunc = determineWriter propInfo.PropertyType
  +          WriteFunc = getWriterFunc propInfo.PropertyType
             Default = Reflection.getDefaultValue propInfo.PropertyType }
   
       /// Writer function for IEnumerable
  
positive.code:         |> Seq.cast
          |> Seq.fold write None
          |> ignore
  
      /// Writer function for integer arrays
      and writeIntArray (writer : TextWriter) (value : obj) =
          let array : int [] = unbox value
          array
          |> Array.iter (fun elem -> writeTag writer "item" ValueTypeSerializer.writeInt32 elem)
  
      /// Writer function for string arrays
      and writeStrArray (writer : TextWriter) (value : obj) =
          let array : string [] = unbox value
          array
          |> Array.iter (fun elem -> writeTag writer "item" ValueTypeSerializer.writeStringObject elem)
  
      /// Try to determine a enumerable serialization function
      and getEnumerableWriter (t : Type) = fun () ->
  
negative.code: 
      open SharpXml.Attempt
      open SharpXml.Extensions
      open SerializerBase
  
      let propertyCache = ref (Dictionary<Type, PropertyWriterInfo[]>())
      let serializerCache = ref (Dictionary<Type, WriterFunc>())
      let typeInfoCache = ref (Dictionary<Type, TypeInfo>())
  
      /// Try to determine one of a special serialization
      /// function, i.e. Exception, Uri
  