I pushed the creation of the (guix substitutes) module as 112692c0d546d35cd67c5dc70dbd1dc609b18f64, so hopefully now it'll be easier to improve substitute related things in Guix and things like the Guix Build Coordinator that use this code.