JetFile: TupleTypes_ERR.jet
  NAMESPACE_HEADER
    <empty list>
  CLASS
    PsiElement(class)('class')
    PsiWhiteSpace(' ')
    PsiElement(IDENTIFIER)('F')
    TYPE_PARAMETER_LIST
      <empty list>
    VALUE_PARAMETER_LIST
      PsiElement(LPAR)('(')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('a')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('x')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('X')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('b')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('A')
            PsiElement(COMMA)(',')
            PsiErrorElement:Type expected
              <empty list>
            PsiWhiteSpace(' ')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('c')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            LABELED_TUPLE_TYPE_ENTRY
              PsiElement(IDENTIFIER)('x')
              PsiWhiteSpace(' ')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                PsiErrorElement:Type expected
                  <empty list>
            PsiElement(COMMA)(',')
            PsiWhiteSpace('  ')
            PsiErrorElement:Expecting a name for tuple entry
              PsiElement(COLON)(':')
            PsiWhiteSpace(' ')
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('Int')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('a')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          ANNOTATION
            PsiElement(LBRACKET)('[')
            ANNOTATION_ENTRY
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('x')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('x')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          ANNOTATION
            PsiElement(LBRACKET)('[')
            ANNOTATION_ENTRY
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('x')
            PsiElement(RBRACKET)(']')
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            TYPE_REFERENCE
              ANNOTATION
                PsiElement(LBRACKET)('[')
                ANNOTATION_ENTRY
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('x')
                PsiWhiteSpace(' ')
                ANNOTATION_ENTRY
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('X')
                PsiErrorElement:Expecting ']' to close an attribute annotation
                  <empty list>
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('b')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          ANNOTATION
            PsiElement(LBRACKET)('[')
            ANNOTATION_ENTRY
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('x')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            TYPE_REFERENCE
              ANNOTATION
                PsiElement(LBRACKET)('[')
                ANNOTATION_ENTRY
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('x')
                PsiElement(RBRACKET)(']')
              PsiWhiteSpace(' ')
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('A')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            TYPE_REFERENCE
              ANNOTATION
                PsiElement(LBRACKET)('[')
                ANNOTATION_ENTRY
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION
                          PsiElement(IDENTIFIER)('x')
                PsiElement(RBRACKET)(']')
              USER_TYPE
                REFERENCE_EXPRESSION
                  PsiElement(IDENTIFIER)('B')
            PsiElement(RPAR)(')')
      PsiElement(COMMA)(',')
      PsiWhiteSpace('\n    ')
      VALUE_PARAMETER
        PsiElement(IDENTIFIER)('c')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          ANNOTATION
            PsiElement(LBRACKET)('[')
            ANNOTATION_ENTRY
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION
                      PsiElement(IDENTIFIER)('x')
            PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          TUPLE_TYPE
            PsiElement(HASH)('#')
            PsiElement(LPAR)('(')
            LABELED_TUPLE_TYPE_ENTRY
              PsiElement(IDENTIFIER)('x')
              PsiWhiteSpace(' ')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                ANNOTATION
                  PsiElement(LBRACKET)('[')
                  ANNOTATION_ENTRY
                    CONSTRUCTOR_CALLEE
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('x')
                  PsiElement(RBRACKET)(']')
                PsiWhiteSpace(' ')
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('Int')
            PsiElement(COMMA)(',')
            PsiWhiteSpace(' ')
            LABELED_TUPLE_TYPE_ENTRY
              PsiElement(IDENTIFIER)('y')
              PsiWhiteSpace(' ')
              PsiElement(COLON)(':')
              PsiWhiteSpace(' ')
              TYPE_REFERENCE
                ANNOTATION
                  PsiElement(LBRACKET)('[')
                  ANNOTATION_ENTRY
                    CONSTRUCTOR_CALLEE
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION
                            PsiElement(IDENTIFIER)('x')
                  PsiElement(RBRACKET)(']')
                PsiWhiteSpace(' ')
                USER_TYPE
                  REFERENCE_EXPRESSION
                    PsiElement(IDENTIFIER)('Int')
            PsiElement(RPAR)(')')
      PsiWhiteSpace('\n    ')
      PsiElement(RPAR)(')')