Any/bind tidying.
Destructuring alternation parse forests.
Export pairs.
Destructuring repetition parse forests.
Bump Obstruct for block type parsing.
nil → any for reduction block predicates.
Destructuring reduction parse forests.
Bump L3 for readability of test logs.
Remove debugging lexer pretty printing.
Destructuring concatenation parse forests.
Destructuring parse forests for all other parsers.
Simpler null parses.
Move the parse forest definition to HMRCombinator.

Also fixes a bug with cyclic reduction that was being masked by calling
-parseForest instead of recursing.
Nonterminals use destructuring parseForest.
Better tests of cyclicity.
Fix memoization.
Fix crashes on delayed cyclic reductions.

Fixes crashes due to recur being weak and not being captured strongly
by the delay of some cyclic reductions.
Weak local block + recur outside delay.

This resolves the nulled weak block call issue while also admitting a
non-static block to be recurred over. Will revert immediately (the
static version requires fewer allocations during runtime), this is
merely for the purpose of illustration.
Revert "Weak local block + recur outside delay."

This reverts commit 822dd72e33e1e1ff6881a9aee04c99cff573afe2.
Merge pull request #95 from robrix/parse-forest-reduction-as-operation

Parse forest reduction as operation