Changed the CompositeType's GetHashCode function to compute a safe, low-collision hash from the sum of the parts.