Use attr_reader instead of ||= stuff for scopes.
Fix code formatting.
Fix code formatting.
Only allow recur in tail position. Fixes #22.