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:         then raise (new CLException(error))
  
      let range = ref Unchecked.defaultof<'TRange>
      let argsSetupFunction =
          let args = ref [||]
          let getStarterFunction qExpr =
              let rec go expr vars =
                  match expr with
                  | Patterns.Lambda (v, body) ->
                      Expr.Lambda(v, go body (v::vars))
                  | e ->
                      let arr =
  
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)))
  