With need specialized methods to compare considering the block of code as well, otherwise we are limited by the unicity check to one point per parent combination:
DrGPointBlockItem>>pointBlock ^ pointBlock
DrGPointBlockItem>>= aMathItem ^ super aPointBLock = aMathItem and: [ pointBlock = aMathItem ]
DrGPointBlockItem>>rehash ^hash := super rehash bitXor: pointBlock hash
With need specialized methods to compare considering the block of code as well, otherwise we are limited by the unicity check to one point per parent combination:
DrGPointBlockIt em>>pointBlock
^ pointBlock
DrGPointBlockIt em>>= aMathItem
^ super aPointBLock = aMathItem and: [ pointBlock = aMathItem ]
DrGPointBlockIt em>>rehash
^hash := super rehash bitXor: pointBlock hash