anchor.diff:      | id :: rest  -> 
   
           (match mty.ModulesAndNamespacesByDemangledName.TryFind(id) with
  -         | Some mspec 
  -             when not (IsTyconUnseenObsoleteSpec ad g ncenv.amap m (modref.NestedTyconRef mspec) allowObsolete) -> 
  -             let allowObsolete = rest <> [] && allowObsolete
  -             ResolvePartialLongIdentInModuleOrNamespace ncenv nenv isApplicableMeth m ad (modref.NestedTyconRef mspec) rest allowObsolete
  +         | Some mspec ->
  +             let nested = modref.NestedTyconRef mspec
  +             if IsTyconUnseenObsoleteSpec ad g ncenv.amap m nested allowObsolete then [] else
  +             let allowObsolete = allowObsolete && not (isNil rest)
  +             ResolvePartialLongIdentInModuleOrNamespace ncenv nenv isApplicableMeth m ad nested rest allowObsolete
  +
            | _ -> [])
   
         @ (LookupTypeNameInEntityNoArity m id modref.ModuleOrNamespaceType
  
positive.code:              IsInterestingModuleName demangledName && notFakeContainerModule ilTyconNames demangledName
               && EntityRefContainsSomethingAccessible ncenv m ad  x
               && not (IsTyconUnseen ad ncenv.g ncenv.amap m x))
      )
negative.code:        @ (tycons |> List.map (modref.NestedTyconRef >> ItemOfTyconRef ncenv m) )
         @ [ // accessible record fields
              for tycon in tycons do
                  let nested = modref.NestedTyconRef tycon
                  if IsEntityAccessible ncenv.amap m ad nested then
                      let ttype = FreshenTycon ncenv m nested
                      yield! 
                          ncenv.InfoReader.GetRecordOrClassFieldsOfType(None, ad, m, ttype)
                          |> List.map Item.RecdField
  