It might not be good to enforce that `a.toString === b.toString` if `a === b`. What if we want to add an object identifier to `toString` to make this it easier to debug? For this reason toString is generally not structured to provide the same guarantees as `hashCode` etc.