Unfortunately it’s again pretty hard to fix. We should rely less on pointer equality (and not break “equational reasoning”), but OTOH (1) we need it for performance reasons, and (2) packages are parameterized in arbitrary ways (its thunked fields can depend on (%current-system), etc.) which makes it impossible to define a faithful ‘package=?’ predicate. Ludo’.