     }
 }
 
+// Run isDisjoint Box switching the order of the two sets.  
+@inline(never)
+func run_SetIsDisjointBoxCommutative(
+    _ a: Set<Box<Int>>,
+    _ b: Set<Box<Int>>,
+    _ r: Bool,
+    _ n: Int) {
+    for _ in 0 ..< n {
+        let isDisjointA = a.isDisjoint(with: identity(b))
+        CheckResults(isDisjointA == r)
+  
+        let isDisjointB = b.isDisjoint(with: identity(a))
+        CheckResults(isDisjointB == r)
+    }
+}
+
 @inline(never)
 func run_SetIsDisjointSeqBox(
     _ a: Set<Box<Int>>,

    }
}

@inline(never)
public func run_SetIsDisjointSeqInt(
    _ a: Set<Int>,

    runFunction: { n in run_SetIsDisjointBox(setOAB, setOCD, true, 50 * n) },
    tags: [.validation, .api, .Set],
    setUpFunction: { blackHole([setOAB, setOCD]) }),
  BenchmarkInfo(
    name: "Set.isDisjoint.Smaller.Int0",
    runFunction: { n in run_SetIsDisjointIntCommutative(setAB, setCDS, true, 50 * n) },
    tags: [.validation, .api, .Set],
    setUpFunction: { blackHole([setAB, setCDS]) }),
  BenchmarkInfo(
    name: "Set.isDisjoint.Smaller.Box0",
    runFunction: { n in run_SetIsDisjointBoxCommutative(setOAB, setOCDS, true, 50 * n) },
    tags: [.validation, .api, .Set],
    setUpFunction: { blackHole([setOAB, setOCDS]) }),
  BenchmarkInfo(
    name: "Set.isDisjoint.Int25",
    runFunction: { n in run_SetIsDisjointInt(setB, setAB, false, 5000 * n) },
