P.S. Another way to deal with toString is just to specify exactly what we do (it’s not bad!) and follow up with a “subject to change” message. We took this tack with MethodHandle.toString:
https://docs.oracle.com/javase/8/docs/api/java/lang/invoke/MethodHandle.html#toString-- > Future releases of this API may add further information to the string > representation. Therefore, the present syntax should not be parsed by > applications.