                 i += 1
             }
             guard i == input.count else { fatalError() }
-        }
-    }
-
-    benchmark.addJob(title: "IntBTree.contains") { input in
-        var set = IntBTree(leafOrder: 1024, internalOrder: 16)
-        for value in input {
-            set.insert(value)
-        }
-        set.validate()
-
-        return { timer in
-            for i in 0 ..< input.count {
-                guard set.contains(i) else { fatalError("Expected to find \(i)") }
-            }
         }
     }
 

    benchmark.descriptiveTitle = "Iterating over all elements"
    benchmark.descriptiveAmortizedTitle = "A single iteration step"

    benchmark.addJob(title: "BTree3.Indexing") { input in
        var set = BTree3<Int>(leafOrder: 1024, internalOrder: 16)
            for value in input {
                set.insert(value)

        }
    }

    benchmark.addJob(title: "IntBTree.indexing") { input in
        var set = IntBTree(leafOrder: 1024, internalOrder: 16)
        for value in input {
            set.insert(value)
        }
        set.validate()

        return { timer in
            var i = 0
            var index = set.startIndex
            let end = set.endIndex
            while index != end {
                guard set[index] == i else { fatalError("Expected \(i), got \(set[index])") }
                i += 1
                set.formIndex(after: &index)
            }
            guard i == input.count else { fatalError() }
        }
    }

    benchmark.addJob(title: "IntBTree.for-in") { input in
        var set = IntBTree(leafOrder: 1024, internalOrder: 16)
        for value in input {
            set.insert(value)
        }
        set.validate()

        return { timer in
            var i = 0
            for element in set {
                guard element == i else { fatalError("Expected \(i), got \(element)") }
                i += 1
            }
            guard i == input.count else { fatalError() }
        }
    }

    benchmark.addJob(title: "BTree3.contains") { input in
        var set = BTree3<Int>(leafOrder: 1024, internalOrder: 16)
        for value in input {
            set.insert(value)
        }
        set.validate()

        return { timer in
            for i in 0 ..< input.count {
                guard set.contains(i) else { fatalError("Expected to find \(i)") }
            }
        }
    }

    benchmark.addJob(title: "IntBTree.contains") { input in
        var set = IntBTree(leafOrder: 1024, internalOrder: 16)
        for value in input {
            set.insert(value)
        }
        set.validate()

        return { timer in
            for i in 0 ..< input.count {
                guard set.contains(i) else { fatalError("Expected to find \(i)") }
            }
        }
    }

    benchmark.addJob(title: "BTree3.forEach") { input in
        var set = BTree3<Int>(leafOrder: 1024, internalOrder: 16)
        for value in input {
