=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
But it does not guard from superclasses doing the wrong thing. Maybe that's fine, but I like more the explicitness. Btw what is wrong with System.identityHashCode, at least in the context when super.hashCode is very likely the identity one?