code: Symbol findIdentInType(Env<AttrContext> env, Type site,
                             Name name, KindSelector kind) {
          Symbol bestSoFar = typeNotFound;
          Symbol sym;
          if (kind.contains(KindSelector.VAL)) {
              sym = findField(env, site, name, site.tsym);
              if (sym.exists()) return sym;
              else bestSoFar = bestOf(bestSoFar, sym);
          }
  
          if (kind.contains(KindSelector.TYP)) {
              sym = findMemberType(env, site, name, site.tsym);
              if (sym.exists()) return sym;
              else bestSoFar = bestOf(bestSoFar, sym);
          }
          return bestSoFar;
      }
docs: Find an identifier among the members of a given type `site'.
  @param env       The current environment.
  @param site      The type containing the symbol to be found.
  @param name      The identifier's name.
  @param kind      Indicates the possible symbol kinds
  (a subset of VAL, TYP).