anchor.diff:  
   type Host() =
   
  -    let kernelFun = <@fun (range:_1D) (buf:array<_>) -> buf.[0] <- 1L@>
  +    let kernelFun = <@fun (range:_1D) (buf:array<_>) -> buf.[0] <- buf.[0] * 2@>
   
       member this.Do () =
           let devices = Device.getDevices "*" DeviceType.Gpu
  
positive.code:                             !args |> Array.iteri (fun i x -> setupArgument i x)
                          @@>
                      arr
              let res = <@ %%(go qExpr []):'TRange ->'a @>.Compile()
  
              res
          getStarterFunction srcLambda
      member this.SetArguments = argsSetupFunction
      member this.ClKernel = kernel
      member this.Range = !range :> Brahma.OpenCL.INDRangeDimension
  
  
negative.code:         printfn "Kernel: %A" kernel
          printfn "Kernel.SetArguments: %A" kernel.SetArguments
  
          let _1d = new _1D(a1.Length,1)
          (kernel.SetArguments ()) _1d m1
  
          processor1.Post(Msg.CreateRunMsg(Run<_,_>(kernel)))
  
          //This code is unsafe because there is no synchronization between processors
          //It is just to show that we can share buffers between queues on the same device
          let res1 = processor2.PostAndReply(fun ch -> Msg.CreateToHostMsg(ToHost<_>(m1, res1, ch)))
  