anchor.diff:          // Note: generating these bindings must come after generating the members, since some in the case of structs some fields
           // may be added by generating the implicit construction syntax 
           let withExtraBindings = 
  -            (envFinal,withBindings) ||> MutRecShapes.expandTycons (fun envForDecls (tyconOpt, _) -> 
  +            (envFinal,withBindings) ||> MutRecShapes.expandTyconsWithEnv (fun envForDecls (tyconOpt, _) -> 
                   match tyconOpt with 
                   | None -> [],[] 
                   | Some tycon -> 
  
positive.code:         let withEntities = 
              typeDefCores 
              |> MutRecShapes.mapWithParent 
                   parent 
                   // Do this for each module definition, building the initial Entity:
                   (fun innerParent modInfo -> 
                       TcTyconDefnCore_Phase1A_BuildInitialModule cenv envInitial innerParent modInfo) 
  
                   // Do this for each type definition, building the initial Tycon:
                   (fun innerParent (typeDefCore,tyconMemberInfo) -> 
                       let (MutRecDefnsPhase1DataForTycon(_,_,_,_,_,isAtOriginalTyconDefn)) = typeDefCore
                       let tyconOpt = 
                           if isAtOriginalTyconDefn then 
                               Some (TcTyconDefnCore_Phase1A_BuildInitialTycon cenv envInitial innerParent typeDefCore)
                           else 
                               None 
                       (typeDefCore, tyconMemberInfo, innerParent), tyconOpt) 
  
                   // Do this for each 'let' definition (just package up the data, no processing)
                   (fun innerParent synBinds ->               
                      let containerInfo = ModuleOrNamespaceContainerInfo(match innerParent with Parent p -> p | _ -> failwith "unreachable")
                      mkLetInfo containerInfo synBinds)
  
  
negative.code:         // Augmentations of type definitions are allowed within the same file as long as no new type representation or abbreviation is given 
          CheckForDuplicateConcreteType env id.idText id.idRange
          CheckForDuplicateModule env id.idText id.idRange
          let vis,cpath = ComputeAccessAndCompPath env None id.idRange synVis parent
  
          // Establish the visibility of the representation, e.g.
          //   type R = 
          //      private { f:int }
          //      member x.P = x.f + x.f
          let synVisOfRepr = 
              match synTyconRepr with 
              | SynTypeDefnSimpleRepr.None _ -> None
              | SynTypeDefnSimpleRepr.TypeAbbrev _ -> None
  