example of monad reasoning.
Merge branch 'master' of github.com:coq-ext-lib/coq-ext-lib