liftM, liftM everywhere! Also <* by another name.
Improved documentation. Removed Ord derivation because why.
I forgot TS had do while :P.