monad over distribution