+2 hashOf for struct should not be pure
+shared
fix ambiguity