anchor.diff:                for (Field(_,_,_,ty,_,_,_,m)) in fields do 
                     let ty',_ = TcTypeAndRecover cenv NoNewTypars NoCheckCxs ItemOccurence.UseInType env tpenv ty
                     yield (ty',m)
  +
  +          //| SynTypeDefnSimpleRepr.Exception (SynExceptionDefnRepr(_,UnionCase(_,_,args,_,_,_),reprIdOpt,_,_,m)) =
  +             // let structuralTypes = args' |> List.map (fun rf -> (rf.FormalType, rf.Range))
  +
             | _ ->
                 () ]
   
  
positive.code: 
      let TcExnDefn cenv envInitial parent (SynExceptionDefn(core,aug,m),scopem) = 
          let binds1,exnc = TcExnDefnCore cenv envInitial parent core
          let envMutRec =  AddLocalTycons cenv.g cenv.amap scopem [exnc] envInitial
  
          let defns = [MutRecShape.Tycon(MutRecDefnsPhase2DataForTycon(Some exnc, parent, ModuleOrMemberBinding, (mkLocalEntityRef exnc), None, NoSafeInitInfo, [], aug, m, NoNewSlots))]
          let binds2,envFinal = TcMutRecDefns_Phase2 cenv envInitial m scopem (envMutRec, defns)
  
negative.code: 
          // Phase1AB - Compute the active environments within each nested module.
          //
          // Add the types to the environment. This does not add the fields and union cases (because we haven't established them yet). 
          // We re-add them to the original environment later on. We don't report them to the Language Service yet as we don't know if 
          // they are well-formed (e.g. free of abbreviation cycles) 
          let envMutRecPrelim, withEnvs =  (envInitial, withEntities) ||> MutRecBindingChecking.TcMutRecDefns_ComputeEnvs cenv false snd scopem m 
  
          // Updates the types of the modules to contain the inferred contents so far
  