Shallow copy, deep equality, and hashCode to Tuple classes