refactor: return -> pure

splices take a "Q _".

Template Haskell is hard to read, so I need to make templates as easy to
read as possible.

"pure a" lets you focus on "a" more than "return a" because:

* pure is shorter
* pure doesn't imply computation
refactor buildParseI: hoist out inner functions

pass in the free variables as arguments