anchor.diff:  
           ignore(Raw.CloseHandle(handle))
           readingTimer.Lap(label)
  -        close()
  -
  -    let cpuInitilizer = (fun _ _ -> ())
  -    let cpuHashedInitilizer = (fun _ _ -> ())
  +        close()    
   
       let gpuInitilizer = (fun _ _ -> NaiveSearchGpu.initialize length k localWorkSize templates templateLengths buffer templateArr)
       let gpuHashingInitilizer = (fun _ _ -> NaiveHashingSearchGpu.initialize length maxTemplateLength k localWorkSize templates templatesSum templateLengths buffer templateArr)
  
positive.code:     let templatesSumRef = ref 0
      let templateArrRef = ref null
  
  //    match deserialized with
  //    | :? Templates as t -> 
  //        templatesRef := t.number
  //        templateLengthsRef := t.sizes
  //        templatesSumRef := t.content.Length
  //        templateArrRef := t.content
  //    | other -> failwith "Deserialized object is not a Templates struct!"
  
      let templates = !templatesRef
      let templateLengths = !templateLengthsRef
      let templatesSum = !templatesSumRef
  
negative.code:             if current > 0L then
                  current <- current - 512L
  
              highBound <- (if int64 length < bound - current then length else (int) (bound - current))
              read <- Raw.ReadFile(handle, buffer, highBound, offset + current)
  
              if read <= 0 && current = 0L then
  