is unorderedEquals not recursive? Otherwise Pair doesn't buy you much over a list.