As far as I see, this behaves the same as the cons-and-match version. Did I miss something? By the way, you make a good point about “match-values”. That would be handy. In general, we love “match” in Guile and in Guix in particular, but multiple values are part of the Scheme standard – there’s no reason to avoid them. They are perfect for situations like this in place of wrapping the values up into a pair or list and then immediately unwrapping them. -- Tim