KtFile: FunctionLiterals.kt
  PACKAGE_DIRECTIVE
    <empty list>
  IMPORT_LIST
    <empty list>
  FUN
    PsiElement(fun)('fun')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('foo')
    VALUE_PARAMETER_LIST
      PsiElement(LPAR)('(')
      PsiElement(RPAR)(')')
    PsiWhiteSpace(' ')
    BLOCK
      PsiElement(LBRACE)('{')
      PsiWhiteSpace('\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          BLOCK
            <empty list>
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('foo')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('a')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('a')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('x')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('y')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            INTEGER_CONSTANT
              PsiElement(INTEGER_LITERAL)('1')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('a')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('f')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('a')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('b')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('c')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('f')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('a')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('b')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('c')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('d')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('f')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n    ')
      LAMBDA_EXPRESSION
        FUNCTION_LITERAL
          PsiElement(LBRACE)('{')
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('a')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                FUNCTION_TYPE
                  VALUE_PARAMETER_LIST
                    PsiElement(LPAR)('(')
                    VALUE_PARAMETER
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('Int')
                    PsiElement(RPAR)(')')
                  PsiWhiteSpace(' ')
                  PsiElement(ARROW)('->')
                  PsiWhiteSpace(' ')
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('Unit')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            VALUE_PARAMETER
              PsiElement(IDENTIFIER)('c')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                FUNCTION_TYPE
                  VALUE_PARAMETER_LIST
                    PsiElement(LPAR)('(')
                    VALUE_PARAMETER
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('Int')
                    PsiElement(RPAR)(')')
                  PsiWhiteSpace(' ')
                  PsiElement(ARROW)('->')
                  PsiWhiteSpace(' ')
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION
                        PsiElement(IDENTIFIER)('Unit')
          PsiWhiteSpace(' ')
          PsiElement(ARROW)('->')
          PsiWhiteSpace(' ')
          BLOCK
            REFERENCE_EXPRESSION
              PsiElement(IDENTIFIER)('f')
          PsiElement(RBRACE)('}')
      PsiWhiteSpace('\n\n    ')
      PsiComment(EOL_COMMENT)('//{a: ((Int) -> Unit) ->} todo')
      PsiWhiteSpace('\n    ')
      PsiComment(EOL_COMMENT)('//{[a] a: A -> }')
      PsiWhiteSpace('\n')
      PsiElement(RBRACE)('}')
