$ guix build --no-grafts --derivations -e \ '(begin (use-modules (guix packages) (gnu packages gtk)) ((package-mapping identity) cairo-sans-poppler))' \ -e '(@ (gnu packages gtk) cairo-sans-poppler)' => /gnu/store/51hwf2mc2ig76a3nm86msv4z9az3s0j3-cairo-1.16.0.drv /gnu/store/q78ziqcg2dvi2lzj18hzdld85bcydzwk-cairo-1.16.0.drv Some interesting notes: 1. (package-mapping identity #:deep? #t) *does* produce the same derivation. 2. bag->derivation's `delete-duplicates' call uses `input=?', but its input objects in the second tuple position are all s produced by `expand-input'. Consequently, `input=?' will fall back to using `equal?' instead of `derivation=?'. I don't know to what extent this has to do with the observed bug. - ulfvonbelow