anchor.diff:  
                   let endpoints = kcg.EndPoints
                   // Add current kernel
  -                kcg.AddKernel(new KernelInfo(signature, body)) 
  +                kcg.AddKernel(new KernelInfo(signature, kernelBody)) 
                   
                   // Detect is device attribute set
                   let device = functionInfo.GetCustomAttribute(typeof<DeviceAttribute>)
  
positive.code:                 let globalIdVar = Quotations.Var("global_id", typeof<int>)
                  let getElementMethodInfo, _ = AcceleratedCollectionUtil.GetArrayAccessMethodInfo(inputArrayType.GetElementType())
                  let _, setElementMethodInfo = AcceleratedCollectionUtil.GetArrayAccessMethodInfo(outputArrayType.GetElementType())
                  let body = 
                      Expr.Let(globalIdVar,
                                  Expr.Call(AcceleratedCollectionUtil.FilterCall(<@ get_global_id @>, fun(e, mi, a) -> mi).Value, [ Expr.Value(0) ]),
                                  Expr.Call(setElementMethodInfo,
  
negative.code:                 
              // Extract the map function 
              match computationFunction with
              | Some(functionInfo, functionBody) ->
                  // Now create the kernel
                  // We need to get the type of a array whose elements type is the same of the functionInfo parameter
                  let inputArrayType = Array.CreateInstance(functionInfo.GetParameters().[0].ParameterType, 0).GetType()
  