(with-monad %state-monad
(let* ((been-there? #f)
(number (mbegin %state-monad
(return 1)
(begin
(set! been-there? #t)
(return 2))
(return 3))))
(pk 'before been-there?) (run-with-state number %state-monad) (pk 'after been-there?)))
;;; (before #f)
;;; (after #t)