Refactored generator to use the IO monad rather than Identity. Removed unsafePerformIO during hint interpretation. The driver now evaluates metaprogramming as a separate pass.