Manually implement Hash for TreeSet again instead of attempting to derive