Some schemas don't like being double-evaluated; route them around eval in eager-compile

Fixes #38 

Like fns, schemas don't like being passed through eval for a variety of quirky reasons.  This passes the schema around the `eval` in positional eager compile using the same binding trick currently used to avoid a similar issue with `eval`-ing fns.