anchor.diff:                  do RuntimeHelpers.EnsureSufficientExecutionStack()
   #endif
   
  -                if fmt.IsCacheByRef || fmt.IsCyclicType then
  +                if pickler.IsCacheByRef || pickler.IsCyclicType then
                       let id, firstOccurence = idGen.GetId x
   
                       if firstOccurence then
  -                        if fmt.IsCyclicType then 
  +                        if pickler.IsCyclicType then 
                               // push id to the symbolic stack to detect cyclic objects during traversal
                               objStack.Push id
   
  
positive.code: 
  
          // the primary deserialization routine; handles all the caching, subtype resolution logic, etc
          member r.Read(fmt : Pickler<'T>) : 'T =
  
              // ad-hoc System.Type caching
              let inline readType () =
  
negative.code: 
                  elif ObjHeader.hasFlag flags ObjHeader.isNewCachedInstance then
                      let id = counter
                      if pickler.TypeKind = TypeKind.Array || pickler.TypeKind = TypeKind.ArrayCompatible then
                          currentDeserializedArrayId <- id
                      counter <- counter + 1L
  
                      let x = read flags
  
                      if pickler.IsCyclicType then 
                          let found, contents = fixupIndex.TryGetValue id
  
                          if found then
  