Redirecting to Monads in functional programming