Derive Eq on AST types
Unqualify a Parsec import
Rearrange Lexer definitions
Remove unused function
No need for make. Use: ghc Main.hs -e "return 0"
Use Applicative.<|> instead of Parsec's version
Remove SSA{Parameter,Argument,Return} wrappers

My original intent was to make it more type-safe, but the wrappers don't accomplish that.
Make StaticTypeObject a record
Only objects can be supertypes
Add the void type
Add TypeChecker, WIP
Arrange AST datatypes
Add Show instance for StaticTypeObject
Build class hierarchy
Remove done TODO
Use the Reader monad instead of State
Reference SSA statements by ID instead of directly
Parameterize SSA references by ref, maintain a Map ID (SSAStatement ID ()) to allow mutation
Show info on SSAStatements
Derive Eq on StaticType