fix incomplete pattern matching + clean up helper functions

The pull request:
* fixes bugs in metafunctions `∨` and `∧` (`(boolean boolean)` won't match `(#t #f)`)
* rewrites a few metafunctions to more idiomatic Redex/Racket
* removes metafunction `size` as a duplicate of `len`