Remove unnecessary `letfn`
Whitespaces
Remove unnecessary `letfn`
Whitespaces
Add `real->rational`
Remove type aliases `Key1` and `Key2`
Use `recur`