<NME> Operators.txt
<BEF> Elm File
  ElmInfixDeclaration(INFIX_DECLARATION)
    PsiElement(INFIX)('infix')
    PsiWhiteSpace(' ')
    PsiElement(LOWER_CASE_IDENTIFIER)('right')
    PsiWhiteSpace(' ')
    PsiElement(NUMBER_LITERAL)('5')
    PsiWhiteSpace(' ')
    PsiElement(LEFT_PARENTHESIS)('(')
    PsiElement(OPERATOR_IDENTIFIER)('**')
    PsiElement(RIGHT_PARENTHESIS)(')')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmValueExpr(VALUE_EXPR)
      ElmValueQID(VALUE_QID)
        PsiElement(LOWER_CASE_IDENTIFIER)('power')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('power')
      PsiWhiteSpace(' ')
      ElmLowerPattern(LOWER_PATTERN)
        PsiElement(LOWER_CASE_IDENTIFIER)('a')
      PsiWhiteSpace(' ')
      ElmLowerPattern(LOWER_PATTERN)
        PsiElement(LOWER_CASE_IDENTIFIER)('b')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmFunctionCallExpr(FUNCTION_CALL_EXPR)
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(UPPER_CASE_IDENTIFIER)('List')
          PsiElement(DOT)('.')
          PsiElement(LOWER_CASE_IDENTIFIER)('product')
      PsiWhiteSpace(' ')
      ElmParenthesizedExpr(PARENTHESIZED_EXPR)
        PsiElement(LEFT_PARENTHESIS)('(')
        ElmFunctionCallExpr(FUNCTION_CALL_EXPR)
          ElmValueExpr(VALUE_EXPR)
            ElmValueQID(VALUE_QID)
              PsiElement(UPPER_CASE_IDENTIFIER)('List')
              PsiElement(DOT)('.')
              PsiElement(LOWER_CASE_IDENTIFIER)('repeat')
          PsiWhiteSpace(' ')
          ElmValueExpr(VALUE_EXPR)
            ElmValueQID(VALUE_QID)
              PsiElement(LOWER_CASE_IDENTIFIER)('b')
          PsiWhiteSpace(' ')
          ElmValueExpr(VALUE_EXPR)
            ElmValueQID(VALUE_QID)
              PsiElement(LOWER_CASE_IDENTIFIER)('a')
        PsiElement(RIGHT_PARENTHESIS)(')')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('f1')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmBinOpExpr(BIN_OP_EXPR)
      ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
        PsiElement(NUMBER_LITERAL)('2')
      PsiWhiteSpace(' ')
      ElmOperator(OPERATOR)
        PsiElement(OPERATOR_IDENTIFIER)('**')
      PsiWhiteSpace(' ')
      ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
        PsiElement(NUMBER_LITERAL)('3')
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('f2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmFunctionCallExpr(FUNCTION_CALL_EXPR)
      ElmOperatorAsFunctionExpr(OPERATOR_AS_FUNCTION_EXPR)
        PsiElement(LEFT_PARENTHESIS)('(')
        PsiElement(OPERATOR_IDENTIFIER)('**')
        PsiElement(RIGHT_PARENTHESIS)(')')
      PsiWhiteSpace(' ')
      ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
        PsiElement(NUMBER_LITERAL)('2')
      PsiWhiteSpace(' ')
      ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
        PsiElement(NUMBER_LITERAL)('3')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('g1')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNegateExpr(NEGATE_EXPR)
      PsiElement(OPERATOR_IDENTIFIER)('-')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('f1')
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('g2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmBinOpExpr(BIN_OP_EXPR)
      ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
        PsiElement(NUMBER_LITERAL)('8')
      PsiWhiteSpace(' ')
      ElmOperator(OPERATOR)
        PsiElement(OPERATOR_IDENTIFIER)('-')
      PsiWhiteSpace(' ')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('f1')
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('g3')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmParenthesizedExpr(PARENTHESIZED_EXPR)
      PsiElement(LEFT_PARENTHESIS)('(')
      ElmBinOpExpr(BIN_OP_EXPR)
        ElmNegateExpr(NEGATE_EXPR)
          PsiElement(OPERATOR_IDENTIFIER)('-')
          ElmValueExpr(VALUE_EXPR)
            ElmValueQID(VALUE_QID)
              PsiElement(LOWER_CASE_IDENTIFIER)('f1')
        PsiWhiteSpace(' ')
        ElmOperator(OPERATOR)
          PsiElement(OPERATOR_IDENTIFIER)('+')
        PsiWhiteSpace(' ')
        ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
          PsiElement(NUMBER_LITERAL)('7')
      PsiElement(RIGHT_PARENTHESIS)(')')
  PsiElement(VIRTUAL_END_DECL)('\n')
  PsiWhiteSpace('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('h1')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmBinOpExpr(BIN_OP_EXPR)
      ElmStringConstantExpr(STRING_CONSTANT_EXPR)
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(REGULAR_STRING_PART)('hello')
        PsiElement(CLOSE_QUOTE)('"')
      PsiWhiteSpace(' ')
      ElmOperator(OPERATOR)
        PsiElement(OPERATOR_IDENTIFIER)('::')
      PsiWhiteSpace(' ')
      ElmListExpr(LIST_EXPR)
        PsiElement(LEFT_SQUARE_BRACKET)('[')
        ElmStringConstantExpr(STRING_CONSTANT_EXPR)
          PsiElement(OPEN_QUOTE)('"')
          PsiElement(REGULAR_STRING_PART)('world')
          PsiElement(CLOSE_QUOTE)('"')
        PsiElement(RIGHT_SQUARE_BRACKET)(']')
<MSG> Use stubs during type inference (#467)


<DFF> @@ -12,9 +12,8 @@ Elm File
     PsiWhiteSpace(' ')
     PsiElement(EQ)('=')
     PsiWhiteSpace(' ')
-    ElmValueExpr(VALUE_EXPR)
-      ElmValueQID(VALUE_QID)
-        PsiElement(LOWER_CASE_IDENTIFIER)('power')
+    ElmInfixFuncRef(INFIX_FUNC_REF)
+      PsiElement(LOWER_CASE_IDENTIFIER)('power')
   PsiElement(VIRTUAL_END_DECL)('\n')
   PsiWhiteSpace('\n')
   ElmValueDeclaration(VALUE_DECLARATION)

Use stubs during type inference (#467)