PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  CLASS[classId=/A, fqName=A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[]]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=_]
    CLASS_BODY
  TYPEALIAS[classId=/Foo, fqName=Foo, isTopLevel=true, name=Foo]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=_]
    TYPE_REFERENCE
      USER_TYPE
        REFERENCE_EXPRESSION[referencedName=Foo]
        TYPE_ARGUMENT_LIST
          TYPE_PROJECTION[projectionKind=NONE]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
  FUN[fqName=foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=_]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
    VALUE_PARAMETER_LIST
  FUN[fqName=foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=_]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=K]
    VALUE_PARAMETER_LIST
