Improve token stream pruning logic.
Simplify syntax for data declaration.
Update language syntax.
Simplify type parsing.
Simplify pattern parsing.
Improve closure hint.

Still uses arbitrary lookahead, but should exit much earlier now in
practice.