pretty (Literal v) = pretty v
pretty (Variable v) = string v
pretty (Apply a b) = parens (pretty a <+> pretty b)
+ pretty (Lambda a b) = string "\\" <-> string a <-> string "->" <-> pretty b
+ pretty (Code b) = string "code" <+> string b
instance Pretty Function
where