     runFunction: { withUnsafeBytes($0, data: medium) }, tags: d),
 
   BenchmarkInfo(name: "DataMutateBytesSmall",
-    runFunction: run_MutateBytesSmall, tags: d),
+    runFunction: { withUnsafeMutableBytes($0, data: small) }, tags: d),
   BenchmarkInfo(name: "DataMutateBytesMedium",
-    runFunction: run_MutateBytesMedium, tags: d),
+    runFunction: { withUnsafeMutableBytes($0, data: medium) }, tags: d),
 
   BenchmarkInfo(name: "DataCopyBytesSmall",
     runFunction: run_CopyBytesSmall, tags: d),

    copy.count = count
    copy.count = orig
  }
}

@inline(never)
public func run_MutateBytesSmall(_ N: Int) {
  let data = sampleData(.small)
  benchmark_MutateBytes(N, data)
}

@inline(never)
public func run_MutateBytesMedium(_ N: Int) {
  let data = sampleData(.medium)
  benchmark_MutateBytes(N, data)
}

@inline(never)

  }
}

@inline(never)
func withUnsafeMutableBytes(_ N: Int, data: Data) {
  for _ in 0..<10000*N {
    var copy = data
    copy.withUnsafeMutableBytes { (ptr: UnsafeMutablePointer<UInt8>) in
      // Mutate a byte
      ptr.pointee = 42
    }
