 
   var testCount = 0
 
-  func report(_ index: Int, _ t: BenchmarkInfo, results: BenchResults?) {
+  func report(_ index: String, _ t: BenchmarkInfo, results: BenchResults?) {
     func values(r: BenchResults) -> [String] {
       return [r.sampleCount, r.min, r.max, r.mean, r.sd, r.median]
         .map { String($0) }
     }
     let benchmarkStats = (
-      [String(index), t.name] + (results.map(values) ?? ["Unsupported"])
+      [index, t.name] + (results.map(values) ?? ["Unsupported"])
     ).joined(separator: c.delim)
 
     print(benchmarkStats)

  mutating func findTestsToRun() {
    registeredBenchmarks.sort()
    let indices = Dictionary(uniqueKeysWithValues:
      zip(registeredBenchmarks.map{$0.name}, 1...))
    let benchmarkNamesOrIndices = Set(filters)
    // needed so we don't capture an ivar of a mutable inout self.
    let (_tags, _skipTags) = (tags, skipTags)

  var afterRunSleep: Int?

  /// The list of tests to run.
  var tests = [(index: String, info: BenchmarkInfo)]()

  mutating func processArguments() -> TestAction {
    let validOptions = [
