Refactor the code to run ghc directly under certain flags
Move the main logic out into a module called Build, so I can test it
Update the changelog
Add a simple test case
Add .ghci support for running the test suite
Make the CI tool run the tests