=====================================
operator with arity (valid and supported by IEx.Helpers.h)
=====================================

::/2
@ / 1
& / 1
not / 1
not in / 2
* / 2
h +/2

---

(source
  (binary_operator
    (operator_identifier)
    (integer))
  (binary_operator
    (operator_identifier)
    (integer))
  (binary_operator
    (operator_identifier)
    (integer))
  (binary_operator
    (operator_identifier)
    (integer))
  (binary_operator
    (operator_identifier)
    (integer))
  (binary_operator
    (operator_identifier)
    (integer))
  (call
    (identifier)
    (arguments
      (binary_operator
        (operator_identifier)
        (integer)))))

=====================================
stab and slash ambiguity
=====================================

(-> / 2)
(-> / / 2)

---

(source
  (block
    (binary_operator
      (operator_identifier)
      (integer)))
  (block
    (stab_clause
      (body
        (binary_operator
          (operator_identifier)
          (integer))))))

=====================================
unary operator and slash ambiguity
=====================================

& / 2
& / / 2
---

(source
  (binary_operator
    (operator_identifier)
    (integer))
  (unary_operator
    (binary_operator
      (operator_identifier)
      (integer))))

=====================================
map with identifiers
=====================================

%{a}
%{a, b}

---

(source
  (map
    (map_content
      (identifier)))
  (map
    (map_content
      (identifier)
      (identifier))))

=====================================
def with remote call
=====================================

def Mod.fun(x), do: 1

---

(source
  (call
    (identifier)
    (arguments
      (call
        (dot
          (alias)
          (identifier))
        (arguments
          (identifier)))
      (keywords
        (pair
          (keyword)
          (integer))))))
