Hi, monad-embed is an experimental programming language that parameterizes everything on a monad by default. Examples, source code, etc. are at <http://timmaxwell.org/pages/monad-embed/>. I posted about it on the Haskell subreddit a few months ago (see <http://bit.ly/cUZvrB>) but I was advised to re-post it in haskell-cafe as well. Tim Maxwell