Schema toString and hashCode protect against recursion using the same strategy as equals.