Miscellaneous cleanups/refactors of surface::distillation:
Replace the mutually recursive check and synth functions with a single term function. Now all logic is contained in one single function, and is IMO easier to understand.
Boolean patterns were erroneously distilled to name patterns instead of boolean patterns in the surface syntax
Avoid allocating an intermediate Vec when distilling a function application to a binop
Miscellaneous cleanups/refactors of
surface::distillation
:check
andsynth
functions with a singleterm
function. Now all logic is contained in one single function, and is IMO easier to understand.Vec
when distilling a function application to a binop