================================================================================
Basic arithmetic
================================================================================

return 3 + 3

--------------------------------------------------------------------------------

(program
  (return_statement
    (bin_op
      left: (number)
      op: (op)
      right: (number))))

================================================================================
Basic precedence
================================================================================

return 3 + 3 * 2

--------------------------------------------------------------------------------

(program
  (return_statement
    (bin_op
      left: (number)
      op: (op)
      right: (bin_op
        left: (number)
        op: (op)
        right: (number)))))

================================================================================
A bunch of precedence
================================================================================

return 4 as string .. 5 as string / 2 + {}

--------------------------------------------------------------------------------

(program
  (return_statement
    (bin_op
      left: (type_cast
        (number)
        (simple_type
          name: (identifier)))
      op: (op)
      right: (bin_op
        left: (bin_op
          left: (type_cast
            (number)
            (simple_type
              name: (identifier)))
          op: (op)
          right: (number))
        op: (op)
        right: (table_constructor)))))
