I would require `pairs.size == 2`, since making this requirement on the map might make some bugs tricky to discover (e.g. `Payoffs((Sam -> X), (Bob -> Y), (Sam -> Z))`)