Use of the "split" primitive in random monads and state monads