   }
 }
 
-internal func testCode(canvas: CanvasType) {
+internal func testCode(canvas: Canvas) {
   var canvas = canvas
 
   let a = Vector3(x: 0, y:0, z:0)


for point in raster {
  let color = UInt32.max
  canvas.setPixel(point.x, point.y, color: color)
  print("Swift: point: x: \(point.x), y: \(point.y), z:\(point.z), color: #\(String(color, radix: 16))")
}

// var myCanvas: CanvasType = canvas
// for _ in 0..<1000000 {
//   testCode(myCanvas)
// }

  let raster = LineRaster(from: a, to: b)
  for point in raster {
    let color = UInt32.max
    canvas[point.x, point.y] = color
  }
}

internal func testCodeInout(inout canvas: Canvas) {
  let a = Vector3(x: 0, y:0, z:0)
  let b = Vector3(x: 50, y:55, z:-20)
  let raster = LineRaster(from: a, to: b)
  for point in raster {
    let color = UInt32.max
    canvas[point.x, point.y] = color
  }
}

internal func testCodeGeneric<T: CanvasType where T.Value == UInt32>(canvas: T) {
  var canvas = canvas

  let a = Vector3(x: 0, y:0, z:0)
