Monad in Scheme (okmij.org)