Well right now I am relying on the default implementation being the same as `==`... and concrete subclasses can fully implement equals if they want looser equivalence. So I view this as not changing the semantics of equals for this class... rather following the existing. I don't mind adding a javadoc comment though if it helps clarify