Beginnings of lists.  Trying to go erlang-ish here again with [1 | 2] as
"cons 1 on to 2" rather than forcing something like [1 | [2 | []]].
Also [Var1 | Var2] needs to be permitted for pattern matching.