anchor.diff:                                      transferMode.DeviceToHostMode,                    
                                       readMode,
                                       writeMode,
  -                                    parameter.IsReturned)            
  +                                    parameter.IsReturned)   
  +            // If we have to write the buffer explicitely to init it, do it         
               if BufferStrategies.ShouldExplicitlyWriteToInitBuffer(parameter.AccessAnalysis, BufferStrategies.ToOpenCLMemoryFlags(mergedFlags), addressSpace.AddressSpace, transferMode.HostToDeviceMode) then
                   dataHandle.BeforeTransferToDevice()
                   BufferTools.WriteBuffer(queue, (writeMode = BufferWriteMode.MapBuffer), bufferItem.Buffer, dataHandle.Ptr, arr.GetType().GetElementType(), ArrayUtil.GetArrayLengths(arr))    
  -                //else
  -                //Console.WriteLine("Buffer is NOT initialised")                           
  +                              
               // If this is the return buffer for root kernel in a kernel expression, remember it cause we will need to read it somewhere at the end
               if parameter.IsReturned && isRoot then
                   rootReturnBuffer <- Some(bufferItem, arr)
  
positive.code:             else
                  if ptr <> IntPtr.Zero then
                      Marshal.FreeHGlobal(ptr)
              
  
  [<AllowNullLiteral>]
  type BufferPoolItem(buffer: OpenCLBuffer, 
  
negative.code:                                     parameter.IsReturned,
                                      true,
                                      queue.Device)
          if retArr.IsSome then
              //Console.WriteLine("Returned buffer is TRACKED")
              // A tracked buffer remains tracked
  