anchor.diff:          let t = value.GetType()
           getProperties t
           |> Seq.iter (fun p ->
  -            match p.WriteFunc with
  -            | Some write ->
  -                let v = p.GetFunc.Invoke(value)
  -                if v <> null then
  -                    writeTag writer p.ClsName write v
  -            | _ -> ())
  +            let v = p.GetFunc.Invoke(value)
  +            if v <> null then
  +                writeTag writer p.ClsName p.WriteFunc v)
   
       /// Try to determine a class or interface serialization function
       and getClassWriter (t : Type) = fun () ->
  
positive.code: 
  /// Writer function delegate
  type WriterFunc = System.IO.TextWriter -> obj -> unit
  
  /// Module containing the serialization logic
  /// for value types
  
negative.code: 
      /// Get the writer function to serialize the
      /// specified type
      and getWriterFunc (t : Type) =
          match (!serializerCache).TryGetValue t with
          | true, serializer -> serializer
          | _ ->
  