anchor.diff:                        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))
  +                | SynModuleSigDecl.Exception (SynExceptionSig(exnRepr,members,_),_) ->
                         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 _ -> ()
  +                    if isNamespace then error(NumberedError(FSComp.SR.tcNamespaceCannotContainValues(),vspec.RangeOfId)) 
                       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 mutRecDefs = loop false synDefs 
                         let decls = [MutRecShape.Module (compInfo, mutRecDefs)]
                         decls, (false, false)
   
  
positive.code:                   decls, (openOk, moduleAbbrevOk, attrs)
  
                | SynModuleDecl.Exception (SynExceptionDefn(repr,members,_),_m) -> 
                    if not openOk then errorR(Error(FSComp.SR.tcOpenFirstInMutRec(),m))
                    let (SynExceptionDefnRepr(synAttrs,UnionCase(_,id,_args,_,_,_),_repr,doc,vis,m)) = repr
                    let compInfo = ComponentInfo(synAttrs,[],[],[id],doc,false,vis,id.idRange)
                    let decls = [ MutRecShape.Tycon(SynTypeDefn.TypeDefn(compInfo, SynTypeDefnRepr.Exception repr, members, m)) ]
  
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)
      }
  
  