anchor.diff:          let scopem = (defs, endm) ||> List.foldBack (fun h m -> unionRanges h.Range m) 
   
           let mutRecDefns = 
  -          let rec loop defs : MutRecSigsInitialData = 
  +          let rec loop isNamespace defs : MutRecSigsInitialData = 
               ((true, true), defs) ||> List.collectFold (fun (openOk, moduleAbbrevOk) def -> 
                   match def with 
                   | SynModuleSigDecl.Types (typeSpecs,_) -> 
  
positive.code:                       let decls = [ MutRecShape.Open (MutRecDataForOpen(lid, m)) ]
                        decls, (openOk, moduleAbbrevOk)
  
                  | SynModuleSigDecl.Exception (SynExceptionSig(exnRepr,members,_),m) ->
                        if not openOk then errorR(Error(FSComp.SR.tcOpenFirstInMutRec(),m))
                        let ( SynExceptionDefnRepr(synAttrs,UnionCase(_,id,_args,_,_,_),_,doc,vis,m)) = exnRepr
                        let compInfo = ComponentInfo(synAttrs,[],[],[id],doc,false,vis,id.idRange)
                        let decls = [ MutRecShape.Tycon(SynTypeDefnSig.TypeDefnSig(compInfo, SynTypeDefnSigRepr.Exception exnRepr, members, m)) ]
                        decls, (false, false)
  
                  | SynModuleSigDecl.Val (vspec,_) -> 
                      match parent with 
                      | ParentNone -> error(NumberedError(FSComp.SR.tcNamespaceCannotContainValues(),vspec.RangeOfId)) 
                      | Parent _ -> ()
                      let decls = [ MutRecShape.Lets(vspec) ]
                      decls, (false, false)
  
                  | SynModuleSigDecl.NestedModule(compInfo,isRec,synDefs,_) ->
                        if isRec then warning(Error(FSComp.SR.tcRecImplied(),compInfo.Range))
                        let mutRecDefs = loop synDefs 
                        let decls = [MutRecShape.Module (compInfo, mutRecDefs)]
                        decls, (false, false)
  
  
negative.code:                     error(Error(FSComp.SR.tcUnsupportedMutRecDecl(),def.Range)))
  
                |> fst
            loop (match parent with ParentNone -> true | Parent _ -> false) defs
          return TcDeclarations.TcMutRecSignatureDecls cenv envInitial parent emptyUnscopedTyparEnv (mutRecDefns,m,scopem)
      }
  
  