Hi, Ludovic Courtès skribis: > Indeed, evaluating: > > (bag-transitive-inputs > (package->bag ((package-input-rewriting '()) glib))) > > shows that we have two “python” packages there that are not ‘eq?’. The problem is that ‘glib’ depends on ‘python-libxml2’, which uses ‘python-build-system’ and thus has ‘python’ as an implicit input. ‘package-input-rewriting’ doesn’t touch implicit inputs so it leaves that implicit ‘python’ untouched. Since ‘transitive-inputs’ (used by ‘bag-transitive-inputs’) uses pointer equality, we end up with two “python” packages that are not ‘eq?’ but are functionally equivalent: the one produced by ‘package-input-rewriting’, and the implicit dependency of ‘python-libxml2’. QED. (This is essentially the same as .) I’m not sure how to address it. Ludo’.