A very subtle bug: The resolution relies on the fact that Java has a
concept of object identity: Even when the "Contents" of two objects are
equal, those objects are not considered equal.
This does not hold for records:
```
record Test(int val) {}
var a = new Test(1);
var b = new Test(1);
var m = new HashMap<>();
m.put(a, "Hello");
m.get(b); // returns "Hello"
```
tl;dr - got bitten by trying to do things fancy