anchor.diff:          let tab = nenv.eUnqualifiedItems
           // add the type name for potential use as a constructor
           // The rules are
  -        // -	The unqualified lookup table in the environment can contain map names to a set of type names (the set of type names is a new kind of "item"). 
  -        // -	When the contents of a type definition is added to the environment, an entry is added in this table for all class and struct types.
  -        // -	When opening a module, types are added first to the environment, then values, then auto-opened sub-modules. 
  -        // -	When a value is added by an "open" previously available type names will become inaccessible by this table. 
  +        // - The unqualified lookup table in the environment can contain map names to a set of type names (the set of type names is a new kind of "item"). 
  +        // - When the contents of a type definition is added to the environment, an entry is added in this table for all class and struct types.
  +        // - When opening a module, types are added first to the environment, then values, then auto-opened sub-modules. 
  +        // - When a value is added by an "open" previously available type names will become inaccessible by this table. 
           let tab = 
  -
               // This may explore into an unreferenced assembly if the name
               // is a type abbreviation. If it does, assume the name does not
               // have a constructor.
  
positive.code: let AddRecdField (rfref:RecdFieldRef) tab = NameMultiMap.add rfref.FieldName rfref tab
  
  /// Add a set of union cases to the corresponding sub-table of the environment 
  let AddUnionCases1 (tab:Map<_,_>) (ucrefs:UnionCaseRef list)= 
      (tab, ucrefs) ||> List.fold (fun acc ucref -> 
          let item = Item.UnionCase(GeneralizeUnionCaseRef ucref,false)
          acc.Add (ucref.CaseName, item))
  
negative.code:             | Choice1Of2 (tcref,extMemInfo) -> tab1.Add (tcref, extMemInfo), tab2
              | Choice2Of2 extMemInfo -> tab1, extMemInfo :: tab2)  
  
      let isILOrRequiredQualifiedAccess = isIL || (not ownDefinition && HasFSharpAttribute g g.attrib_RequireQualifiedAccessAttribute tcref.Attribs)
      let eFieldLabels = 
          if isILOrRequiredQualifiedAccess || not tcref.IsRecordTycon || flds.Length = 0 then 
              nenv.eFieldLabels 
          else 
              (nenv.eFieldLabels,flds) ||> Array.fold (fun acc f -> 
  