Make a pretty print AST
The compiler's AST is nice because it's the source of truth. However, it's not so nice in that is has a bunch of mixed levels of information: there's some desugaring that happens, there's some optimizations that happen, there's some metadata mixed in, there's some cases a user can't write, there's some transformations for pretty printing, etc.
We can improve our situation if we take the compiler's AST and immediately convert to an AST that we want to work with. Afterward, we can do whatever optimizations and transformations we want, and print out the thing we want at the end.
Should make transformations like #19 (closed), #31 (closed), and #32 (closed) easier to do.