JetFile: FunctionTypes_ERR.jet
  NAMESPACE
    TYPEDEF
      PsiElement(type)('type')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('f')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        PsiElement(LBRACE)('{')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          MODIFIER_LIST
            ATTRIBUTE_ANNOTATION
              PsiElement(LBRACKET)('[')
              ATTRIBUTE
                USER_TYPE
                  USER_TYPE
                    PsiElement(IDENTIFIER)('a')
              PsiElement(RBRACKET)(']')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            USER_TYPE
              PsiElement(IDENTIFIER)('a')
          PsiElement(RPAR)(')')
        PsiErrorElement:Expecting ':' followed by a return type
          <empty list>
        PsiWhiteSpace('  ')
        TYPE_REFERENCE
          USER_TYPE
            PsiElement(IDENTIFIER)('b')
        PsiElement(RBRACE)('}')
    PsiWhiteSpace('\n')
    TYPEDEF
      PsiElement(type)('type')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('f')
      PsiWhiteSpace(' ')
      TYPE_PARAMETER_LIST
        <empty list>
      PsiElement(EQ)('=')
      PsiWhiteSpace(' ')
      TYPE_REFERENCE
        PsiElement(LBRACE)('{')
        VALUE_PARAMETER_LIST
          PsiElement(LPAR)('(')
          TYPE_REFERENCE
            USER_TYPE
              PsiElement(IDENTIFIER)('a')
          PsiElement(COMMA)(',')
          PsiWhiteSpace(' ')
          TYPE_REFERENCE
            PsiErrorElement:Type expected
              <empty list>
          PsiElement(RPAR)(')')
        PsiWhiteSpace(' ')
        PsiElement(COLON)(':')
        PsiWhiteSpace(' ')
        TYPE_REFERENCE
          USER_TYPE
            PsiElement(IDENTIFIER)('b')
        PsiElement(RBRACE)('}')