anchor.diff:                              // push id to the symbolic stack to detect cyclic objects during traversal
                               objStack.Push id
   
  -                            writeObject ObjectFlags.None
  +                            writeObject ()
   
                               objStack.Pop () |> ignore
                               cyclicObjects.Remove id |> ignore
                           else
  -                            writeObject ObjectFlags.None
  +                            writeObject ()
   
                       elif p.m_IsRecursiveType && objStack.Contains id && not <| cyclicObjects.Contains id then
                           // came across cyclic object, record fixup-related data
  
positive.code: 
                              if t.IsArray then
                                  beginWriteObject tag ObjectFlags.IsCachedInstance
                              elif t <> typeof<'T> then
                                  beginWriteObject tag (ObjectFlags.IsCyclicInstance ||| ObjectFlags.IsProperSubtype)
                                  state.TypePickler.Write state "subtype" t
                              else
  
negative.code: 
              // writes a non-null instance of a reference type
  #if DEBUG
              let writeObject () =
  #else
              let inline writeObject () =
  #endif
                  if p.m_TypeInfo <= TypeInfo.Sealed || p.m_UseWithSubtypes then
                      beginWriteObject tag ObjectFlags.None
                      p.m_Writer state value
                      formatter.EndWriteObject ()
                  else
                      // object might be of proper subtype, perform reflection resolution
                      let t0 = value.GetType()
                      if t0 <> p.Type then
                          let subPickler = state.PicklerResolver.Resolve t0
                          beginWriteObject tag ObjectFlags.IsProperSubtype
                          state.TypePickler.Write state "subtype" t0
                          state.NextObjectIsSubtype <- true
                          subPickler.UntypedWrite state tag value
                          formatter.EndWriteObject ()
                      else
                          beginWriteObject tag ObjectFlags.None
                          p.m_Writer state value
                          formatter.EndWriteObject ()
  
  