     case .string: return sampleString()
     case .immutableBacking: return sampleBridgedNSData()
     }
-    
 }
 
 func benchmark_AccessBytes(_ N: Int, _ data: Data) {


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

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

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

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

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

@inline(never)
public func run_Reset(_ N: Int) {
    let data = sampleData(.medium)
    benchmark_Reset(N, 431..<809, data)
}

@inline(never)
public func run_ReplaceSmall(_ N: Int) {
    let data = sampleData(.medium)
    let replacement = sampleData(.small)
    benchmark_Replace(N, 431..<809, data, replacement)
}

@inline(never)
public func run_ReplaceMedium(_ N: Int) {
    let data = sampleData(.medium)
    let replacement = sampleData(.medium)
    benchmark_Replace(N, 431..<809, data, replacement)
}

@inline(never)
public func run_ReplaceLarge(_ N: Int) {
    let data = sampleData(.medium)
    let replacement = sampleData(.large)
    benchmark_Replace(N, 431..<809, data, replacement)
}

@inline(never)
public func run_ReplaceSmallBuffer(_ N: Int) {
    let data = sampleData(.medium)
    let replacement = sampleData(.small)
    let sz = replacement.count
    replacement.withUnsafeBytes { (ptr: UnsafePointer<UInt8>) in
        benchmark_ReplaceBuffer(N, 431..<809, data, UnsafeBufferPointer(start: ptr, count: sz))


@inline(never)
public func run_Subscript(_ N: Int) {
    let data = medium
    let index = 521
    for _ in 1...10000*N {
        // Ensure that the compiler does not optimize away this call
