================================================================================
id: variable
================================================================================

a = a
_a0 = a
_A0 = a
a0 = a
a9 = a
aA = a
aZ' = a

---

(haskell
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable)))
 (function (variable) (exp_name (variable))))

================================================================================
id: constructor
================================================================================

data B = A
       | A0
       | A9
       | Aa
       | A_
       | Az'

---

(haskell
 (adt
  (type)
  (constructors
   (data_constructor (constructor))
   (data_constructor (constructor))
   (data_constructor (constructor))
   (data_constructor (constructor))
   (data_constructor (constructor))
   (data_constructor (constructor)))))

================================================================================
id: unicode
================================================================================

accenté = ()
data T =
  Œufs
  | Étonnement
  | ǋtitlecasetest

---

(haskell
  (function (variable)
    (patterns (pat_name (variable)))
    (exp_literal (con_unit)))
  (adt
    (type)
    (constructors
      (data_constructor
        (constructor))
      (data_constructor
        (constructor))
      (data_constructor
        (constructor)))))
