anchor.diff:              let info = generateAnonType genToStringMethod (isStruct, anonInfo.ILTypeRef, anonInfo.SortedNames)
               anonTypeTable.Table.[key] <- info
   
  -    member __.LookupAnonType (anonInfo: AnonRecdTypeInfo) =
  +    member this.LookupAnonType (genToStringMethod, anonInfo: AnonRecdTypeInfo) =
           match anonTypeTable.Table.TryGetValue anonInfo.Stamp with
           | true, res -> res
  -        | _ -> failwithf "the anonymous record %A has not been generated in the pre-phase of generating this module" anonInfo.ILTypeRef
  +        | _ -> 
  +           if anonInfo.ILTypeRef.Scope.IsLocalRef then
  +               failwithf "the anonymous record %A has not been generated in the pre-phase of generating this module" anonInfo.ILTypeRef
  +           this.GenerateAnonType (genToStringMethod, anonInfo)
  +           anonTypeTable.Table.[anonInfo.Stamp]
   
       member __.GrabExtraBindingsToGenerate () =
           let result = extraBindingsToGenerate
  
positive.code:     GenSequel cenv eenv.cloc cgbuf sequel
  
  and GenGetAnonRecdField cenv cgbuf eenv (anonInfo: AnonRecdTypeInfo, e, tyargs, n, m) sequel =
      let _anonCtor, anonMethods, anonType = cgbuf.mgbuf.LookupAnonType anonInfo
      let boxity = anonType.Boxity
      let ilTypeArgs = GenTypeArgs cenv.amap m eenv.tyenv tyargs
      let anonMethod = anonMethods.[n]
  
negative.code:         GenSequel cenv eenv.cloc cgbuf sequel
  
  and GenAllocAnonRecd cenv cgbuf eenv (anonInfo: AnonRecdTypeInfo, tyargs, args, m) sequel =
      let anonCtor, _anonMethods, anonType = cgbuf.mgbuf.LookupAnonType ((fun ilThisTy -> GenToStringMethod cenv eenv ilThisTy m), anonInfo)
      let boxity = anonType.Boxity
      GenExprs cenv cgbuf eenv args
      let ilTypeArgs = GenTypeArgs cenv.amap m eenv.tyenv tyargs
  