Remove unused commented out code
Don't expose ModulePath constructor
Compiler: Documentation and refactorings
Use io instead of liftIO everywhere