anchor.diff:          System.Collections.ObjectModel.ReadOnlyCollection<_>(Seq.toArray arr) :> IList<_>
       let makeXmlDoc (XmlDoc x) = makeReadOnlyCollection (x)
       
  -    let rescopeEntity viewedCcu (entity : Entity) = 
  +    let rescopeEntity optViewedCcu (entity : Entity) = 
  +        match optViewedCcu with 
  +        | None -> mkLocalEntityRef entity
  +        | Some viewedCcu -> 
           match tryRescopeEntity viewedCcu entity with
           | None -> mkLocalEntityRef entity
           | Some eref -> eref
  
positive.code:                    if entity.IsNamespace then 
                         yield! loop entity.ModuleOrNamespaceType
                     else 
                         let entityRef = 
                             match tryRescopeEntity cenv.thisCcu entity with 
                             | None -> mkLocalEntityRef entity
                             | Some eref -> eref
                         yield FSharpEntity(cenv,  entityRef) |]
          
          loop mtyp |> makeReadOnlyCollection
  
negative.code:     override x.ToString() = 
          "parameter " + (match x.Name with None -> "<unnamed" | Some s -> s)
  
  and FSharpAssemblySignature private (cenv, topAttribs: TypeChecker.TopAttribs option, optViewedCcu: CcuThunk option, mtyp: ModuleOrNamespaceType) = 
  
      // Assembly signature for a referenced/linked assembly
      new (cenv, ccu: CcuThunk) = FSharpAssemblySignature((if ccu.IsUnresolvedReference then cenv else (new cenv(cenv.g, ccu, cenv.tcImports))), None, Some ccu, ccu.Contents.ModuleOrNamespaceType)
      
      // Assembly signature for an assembly produced via type-checking.
      new (g, thisCcu, tcImports, topAttribs, mtyp) = FSharpAssemblySignature(cenv(g, thisCcu, tcImports), topAttribs, None, mtyp)
  
      member __.Entities = 
  
  