How would the semantics of `CONTAINS` apply to comparing Value Objects?
Using `CONTAINS` for objects implies that you refer to internal properties, but that is something that should be avoided.
We want an operator that can say `new Street("High Street 1") == new Street("High Street 1")`. That is something else than, for instance, `new Street("High Street 1") contains "High Street 1"` if that's the behaviour you're thinking of.