anchor.diff:              if t.IsAbstract && not t.IsInterface then
                   Some writeAbstractProperties
               else
  -                Some writeClass
  +                let properties = getProperties t
  +                Some (writeClass properties)
           else None
   
       /// Try to determine a writer function for a dictionary
  
positive.code:     OriginalName : string
      ClsName : string
      GetFunc : Reflection.GetterFunc
      WriteFunc : WriterFunc
      Default : obj }
  
  module SerializerBase =
  
negative.code:             Atom.updateAtomDict propertyCache t props
  
      /// Writer for classes and other reference types
      and writeClass props (writer : TextWriter) (value : obj) =
          props
          |> Array.iter (fun p ->
              let v = p.GetFunc.Invoke(value)
              if v <> null then
                  let writeFunc = p.WriteFunc.Value
                  writeTag writer p.ClsName writeFunc v)
  
      /// Try to determine a class or interface serialization function
      and getClassWriter (t : Type) = fun () ->
  