The careful API design will be key as I can see a lot of corner cases
related to `obj.getClass().isIdentityClass() != obj.hasIdentity()`.
Do we have a sketch of what the apis for this would look like?  I'm
assuming these are just for expository purposes as isIdentityClass()
really needs to return a trinary value - {true, false, maybe}.

Let's step back and ask "what is the purpose of Class::isIdentityClass".  It kind of got conflated with the dynamic check of "does this object have identity", but really, this should be a query about how the class is declared -- identity class, value class, or identity-agnostic class.  The latter bucket includes all interfaces, Object, and some abstract classes.  So to the extent we have this method at all, a tri-value return seems almost a forced move.

Reply via email to