the dart:collection classes tend to take similar configuration (equals, and hashCode functions) as named arguments in the default constructor. I think we should probably follow that here.