Equality in an OO world

There is no way to extend an instantiable class and add a value
component while preserving the equals contract, unless you are willing
to forego the benefits of object-oriented abstraction.
Mash XML into a seq