anchor.diff:              match TryFindTypeWithRecdField modref id  with
               | Some tycon when IsEntityAccessible ncenv.amap m ad (modref.NestedTyconRef tycon) -> 
                   let showDeprecated = HasFSharpAttribute ncenv.g ncenv.g.attrib_RequireQualifiedAccessAttribute tycon.Attribs
  -                success(resInfo, FieldResolution(modref.RecdFieldRefInNestedTycon tycon id,showDeprecated), rest)
  +                success [resInfo, FieldResolution(modref.RecdFieldRefInNestedTycon tycon id,showDeprecated), rest]
               | _ -> raze (UndefinedName(depth,FSComp.SR.undefinedNameRecordLabelOrNamespace,id,NoPredictions))
  +
  +        match modulScopedFieldNames with
  +        | Result (res :: _) -> success res
  +        | _ -> 
  +
           // search for type-qualified names, e.g. { Microsoft.FSharp.Core.Ref.contents = 1 } 
           let tyconSearch = 
               match lid with 
  
positive.code:                 | Some (ILFieldItem (finfo:: _))  when (match lookupKind with LookupKind.Expr | LookupKind.Pattern -> true | _ -> false) -> 
                      success (resInfo,Item.ILField finfo,rest)
  
                  | Some (EventItem (einfo :: _)) when (match lookupKind with LookupKind.Expr -> true | _ -> false)  -> 
                      success (resInfo,Item.Event einfo,rest)
                  | Some (RecdFieldItem (rfinfo)) when (match lookupKind with LookupKind.Expr | LookupKind.RecdField | LookupKind.Pattern -> true | _ -> false) -> 
                      success(resInfo,Item.RecdField(rfinfo),rest)
                  | _ ->
                  let pinfos = ExtensionPropInfosOfTypeInScope ncenv.InfoReader nenv (optFilter, ad) m typ
                  if not (List.isEmpty pinfos) && (match lookupKind with LookupKind.Expr -> true | _ -> false) then 
                      success (resInfo,Item.Property (nm,pinfos),rest) else
                  let minfos = ExtensionMethInfosOfTypeInScope ncenv.InfoReader nenv optFilter m typ
                  if not (List.isEmpty minfos) && (match lookupKind with LookupKind.Expr -> true | _ -> false) then 
                      success (resInfo,Item.MakeMethGroup (nm,minfos),rest) 
                                  
                  elif isTyparTy g typ then raze (IndeterminateType(unionRanges m id.idRange))
                  else raze (UndefinedName (depth,FSComp.SR.undefinedNameFieldConstructorOrMember, id,NoPredictions))
                
          let nestedSearchAccessible = 
              let nestedTypes = GetNestedTypesOfType (ad, ncenv, Some nm, (if List.isEmpty rest then typeNameResInfo.StaticArgsInfo else TypeNameResolutionStaticArgsInfo.Indefinite), true, m) typ
  
negative.code:         match AtMostOneResult m search with 
          | Result _ as res -> ForceRaise res
          | _ -> 
              let adhocDotSearchAll = ResolveLongIdentInTypePrim ncenv nenv LookupKind.Expr ResolutionInfo.Empty 1 m AccessibleFromSomeFSharpCode lid findFlag typeNameResInfo typ 
              ForceRaise (AtMostOneResult m (search +++ adhocDotSearchAll))
  
      | Result _ -> 
          ForceRaise adhoctDotSearchAccessible
  