         expr = generate ast.expr, options
         expr = parens expr if needsParensWhenOnLeft ast.expr
         "#{expr}#{op}"
+
       when 'NewOp'
         op = operators[ast.className]
         prec = precedence[ast.className]

        options.precedence = 0
        indexingExpr = generate ast.indexingExpr, options
        "#{expr}#{op}[#{indexingExpr}]"
      when 'ConcatOp'
        left = formatInterpolation ast.left, options
        right = formatInterpolation ast.right, options
        "\"#{left}#{right}\""
      else
        throw new Error "Non-exhaustive patterns in case: #{ast.className}"
    if needsParens then (parens src) else src

            arg
          argList = if ast.arguments.length is 0 then '()' else " #{args.join ', '}"
          "#{fn}#{op}#{argList}"

      when 'MemberAccessOp', 'SoakedMemberAccessOp', 'ProtoMemberAccessOp', 'SoakedProtoMemberAccessOp'
        op = operators[ast.className]
        prec = precedence[ast.className]
