anchor.diff:      member this.ReplyChannel = replyChannel
   
   
  -type Allocate<'t>(size, replyChannel:AsyncReplyChannel<GpuArray<'t>>) =
  +type Allocate<'t>(size) =
       member this.Size = size
  -    member this.ReplyChannel = replyChannel
  -
   type AllocateCrate =
       abstract member Apply : AllocateCrateEvaluator -> unit
   
  
positive.code:     member this.ClDevice = device
  
      member this.ClContext = clContext
      member private this.HandleAllocate (alloc:AllocateCrate) =
              alloc.Apply
                  {
                      new AllocateCrateEvaluator
  
negative.code:                             | Some ch -> ch.Reply res
                              0
                  }
  
      //member this.Allocate (a) =
      //    printfn "Allocation"
      //    this.HandleAllocate a
      member this.GetNewProcessor () = MailboxProcessor.Start(fun inbox ->
  
          let commandQueue = new Brahma.OpenCL.CommandQueue(clContext, device)
  
          printfn "MB is started"
          let rec loop i = async {
              let! msg = inbox.Receive()
              match msg with
              | MsgToHost a ->
                  printfn "ToHost"
                  this.HandleToHost(commandQueue, a) |> ignore
  
              | MsgToGPU a ->
                  printfn "ToGPU"
                  this.HandleToGPU(commandQueue, a) |> ignore
  
              return! loop 0
  