Rework CypherExpression and Property hash/eq to use actual instances in a WeakKeyDict in descriptor; using id here meant every time memory was reclaimed there was a chance of a collision
Rework CypherExpression and Property hash/eq to use actual instances in a WeakKeyDict in descriptor; using id here meant every time memory was reclaimed there was a chance of a collision

TwoBitAlchemist/NeoAlchemy