(defn
reset!
"Mutates the session from a :then or :then-finally block."
[new-session]
(if
*mutable-session*
(if
(= *session* @*mutable-session*)
(vreset! *mutable-session* new-session)
(throw
(ex-info
"You may only call `reset!` once in a :then or :then-finally block"
{})))
(throw
(ex-info
"You may only call `reset!` in a :then or :then-finally block"
{}))))