Ideally these only add type annotations, but this wasn't always the case
- changed for/first to for/or
- changed for/and, for*/or, for/fold #:break to named lets
- no thunk*, limited curry & compose
- require/typed for -set*! functions
- handled failure conditions in read, regexp-match
Anyway, all unit tests pass and run about the same speed.
Grep for "bg" to see interesting changes.