Turn on more warnings.
Fix unused do bind (replacing mapM with mapM_)
Add missing type signature.