anchor.diff:  
               match lookupKind with
               | LookupKind.Expr | LookupKind.Pattern ->
  -                if isAppTy g ty then
  -                    let tcref = tcrefOfAppTy g ty
  +                match tryDestAppTy g ty with
  +                | ValueSome tcref ->
                       for uc in tcref.UnionCasesArray do
                           addToBuffer uc.DisplayName
  +                | _ -> ()
               | _ -> ()
   
           raze (UndefinedName (depth, FSComp.SR.undefinedNameFieldConstructorOrMember, id, suggestMembers))
  
positive.code: and ResolveLongIdentInNestedTypes (ncenv: NameResolver) nenv lookupKind resInfo depth id m ad (id2: Ident) (rest: Ident list) findFlag typeNameResInfo tys =
      tys
      |> CollectAtMostOneResult (fun ty ->
          let resInfo = if isAppTy ncenv.g ty then resInfo.AddEntity(id.idRange, tcrefOfAppTy ncenv.g ty) else resInfo
          ResolveLongIdentInTypePrim ncenv nenv lookupKind resInfo depth m ad id2 rest findFlag typeNameResInfo ty
          |> AtMostOneResult m)
  
  
negative.code:     Item.Types (x.DisplayName, [FreshenTycon ncenv m x])
  
  let ItemOfTy g x =
      let nm = 
          match tryDestAppTy g x with
          | ValueSome tcref -> tcref.DisplayName 
          | _ -> "?"
      Item.Types (nm, [x])
  
  // Filter out 'PrivateImplementationDetail' classes
  