anchor.diff:  
      let dropEnvs xs = xs |> mapModules fst
   
  -   let rec expandTycons f1 env xs = 
  +   let rec expandTyconsWithEnv f1 env xs = 
          let preBinds, postBinds = 
              xs |> List.map (fun elem -> 
                  match elem with 
  
positive.code:        [MutRecShape.Lets (List.concat preBinds)] @ 
         (xs |> List.map (fun elem -> 
             match elem with 
             | MutRecShape.Module ((c,env2),d) -> MutRecShape.Module ((c,env2), expandTycons f1 env2 d)
             | _ -> elem)) @
         [MutRecShape.Lets (List.concat postBinds)] 
  
  
negative.code:     /// but 
      ///    - we don't yet 'properly' establish constraints on type parameters
      let private TcTyconDefnCore_Phase1A_BuildInitialTycon cenv env parent (MutRecDefnsPhase1DataForTycon(synTyconInfo,synTyconRepr,_,preEstablishedHasDefaultCtor,hasSelfReferentialCtor, _)) = 
          let (ComponentInfo(_, synTypars, _, id, doc, preferPostfix, synVis, _)) = synTyconInfo
          let checkedTypars = TcTyparDecls cenv env synTypars
          id |> List.iter (CheckNamespaceModuleOrTypeName cenv.g)
          match synTyconRepr with 
  