It turned out that the Monad instance was a bad idea. I changed everything accordingly. Also extended the docs.