So I ran into two things with these:

1) value() makes a constant so we only have 1 source of each type
2) Without the List aspect List[Int]() == List[Int]() , so the normal comparators all align up.

Its that or needing to use eq instead which seemed less ideal