Make Var, Function newtype wrappers
Add PrettyPrinter
Fix pretty printing behaviour
Make program parse and pretty print it back