Fix pretty printing of recursive functions
Improve and simplify type-checking
Add a pretty-printer for TypedTree
Update TODO
Factorization
Add a pretty-printer for UntypedTree