Commit 81a9773 introduces a generic state monad in (guix monads), and
the next commit makes ‘%store-monad’ an alias for ‘%state-monad’.
The nice thing is that ‘%state-monad’ remains low-overhead thanks to the
macro tricks¹ and the use of multiple-value returns to thread the state
across monadic pr
Commit e87f059 moved monadic procedures “where they belong”–essentially
grouping them by abstraction layer rather than by programming style,
which meant everything in (guix monads).
This has then allowed the conversion of the code to download the package
source (the ‘method’ field of ‘origin’) to