Hi there! I’ve applied the whole series with the change below. \o/ Because of the monadic style, the ‘guard’ clause had no effect: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,run-in-store (guard (c (#t 'caught)) (mbegin %store-monad (return 1)(return (raise (condition (&message (message "oh!"))))))) While executing meta-command: Throw to key `srfi-34' with args `(#)'. --8<---------------cut here---------------end--------------->8--- I thought about adding it in some other way, but it turns out not to be needed at all because error conditions are guarded against in ‘guix-system’. Hence the patch. Thank you for the hard work on this series! I’ll be away from keyboard roughly until August 17th. Hopefully you can get feedback from David or Chris, and maybe you can get others on board as well. :-) If my opinion on changes to the core is needed, you can always push to a separate branch in the meantime. Anyway, I’m confident! Ludo’.