Changed ScopeM monad to be a ReaderT over IO to facilitate debugging output
Fix bug with nested free variables in scope. Free variables from multiple levels of nesting were being used, when only the immediate nested scope should have been used.
Removed dead code