list monad experiments