Next iteration with monad types.