wouldn't it be enough to require "preservesOrdering"?