anchor.diff:              infoReader.GetEntireTypeHierarchy(AllowMultiIntfInstantiations.Yes, m, ty)
               |> List.collect (fun ty ->
                   let g = infoReader.g
  -                if isAppTy g ty then
  -                    let tcref = tcrefOfAppTy g ty
  +                match tryDestAppTy g ty with
  +                | ValueSome tcref ->
                       let extValRefs = nenv.eIndexedExtensionMembers.Find tcref
                       SelectMethInfosFromExtMembers infoReader optFilter ty  m extValRefs
  -                else [])
  +                | _ -> [])
           extMemsDangling @ extMemsFromHierarchy
   
   /// Get all the available methods of a type (both intrinsic and extension)
  
positive.code:         let extMemsFromHierarchy =
              infoReader.GetEntireTypeHierarchy(AllowMultiIntfInstantiations.Yes, m, ty)
              |> List.collect (fun ty ->
                   if isAppTy g ty then
                      let tcref = tcrefOfAppTy g ty
                      let extMemInfos = nenv.eIndexedExtensionMembers.Find tcref
                      SelectPropInfosFromExtMembers infoReader ad optFilter ty m extMemInfos
                   else [])
  
          extMemsDangling @ extMemsFromHierarchy
  
  
negative.code: 
              match lookupKind with
              | LookupKind.Expr | LookupKind.Pattern ->
                  match tryDestAppTy g ty with
                  | ValueSome tcref ->
                      for uc in tcref.UnionCasesArray do
                          addToBuffer uc.DisplayName
                  | _ -> ()
              | _ -> ()
  
          raze (UndefinedName (depth, FSComp.SR.undefinedNameFieldConstructorOrMember, id, suggestMembers))
  