да, действительно, хороший пример, я в таком случае предполагал, что это один и тот объект, мол объекты стягиваются в один, но в определении ничего подобного нет конечно
для этого достаточно более слабого ограничения, что forall a b, a /= b <-> ida /= idb, ну или прямо затребовать биекцию и отказаться от объектов