anchor.diff:          if (!error <> ErrorCode.Success)
           then raise (new Cl.Exception(!error))
           ctx
  +
       member this.ClDevice = device
   
       member this.ClContext = clContext
  +
  +    member this.CreateKernel (srcLambda) =
  +        new GpuKernel<_>(device, clContext, srcLambda)
  +
       member this.Allocate<'t> (length:int) =
           printfn "Allocation"
           let buf = new Brahma.OpenCL.Buffer<_>(clContext, Brahma.OpenCL.Operations.ReadWrite, true, length)
  
positive.code:     member this.Buffer = buffer
      member this.Length = length
  
  type Kernel<'t>(ctx, f) =
      member this.Run () = ()
  
  type ToHost<'t>(src:GpuArray<'t>, dst: array<'t>, ?replyChannel:AsyncReplyChannel<array<'t>>) =
      member this.Destination = dst
  
negative.code:         loop 0)
  
  type Host() =
  
      let kernelFun = <@fun (range:_1D) (buf:array<_>) -> buf.[0] <- 1L@>
  
      member this.Do () =
          let devices = Device.getDevices "*" DeviceType.Gpu
          printfn "Device: %A" devices.[0]
  