The only reason that appears to me is that its cleaner to have equality and hashing over these sort of classes (although I havn't seen a use for that yet)