Differentiate unhoisted variables.

Having problems where variables are being hoisted and re-hosited because
I'm passing source processed by the "compiler" back into the "compiler".

Also, I'd like to find a better name for it besides "compiler".

Closes #289.