anchor.diff:          |> Seq.pairwise
           |> Seq.forall comparer
       
  -    let emptyHeapAndCheckIsPriorityOrdered heap : bool = 
  +    let emptyHeapAndCheckIsPriorityOrdered (heap: Heaps.DHeap<int>) : bool = 
           let order = Heaps.DHeap.order heap
           let elemsCount = Heaps.DHeap.size heap                
           let removeElementOrFailTest = 
  
positive.code:         | Removal
          | Replacement of int
  
      let arePriorityOrdered (order: Heaps.HeapRootOrdering) elements : bool = 
          let comparer = 
              match order with 
              | Heaps.MinKey -> fun (a, b) -> a <= b
  
negative.code:         let elems = 
              [1..elemsCount] 
              |> List.map removeElementOrFailTest                 
          areElementsPriorityOrdered order elems
  
      let applyHeapActions (heap: Heaps.DHeap<int>) (heapInsertExtractActions: InsertExtractAction list) =
          let updateHeap (action: InsertExtractAction) = 
              match action with
              | Insertion(value) -> Heaps.DHeap.insert heap value
              | Removal -> Heaps.DHeap.extractHighestPriority heap |> ignore
              | Replacement(value) -> Heaps.DHeap.extractHighestPriorityAndInsert heap value |> ignore
          List.iter updateHeap heapInsertExtractActions
  
      
  
  