Switched to QuickCheck, added Arbitrary instances. Parse and Display seem very solid
Use runghc instead of executables
Parsers treat single semicolon as comment start
Parse comments before main
Completed spill function