anchor.diff:  
       new(descending) = SkewBinomialHeap(0, descending, [])
   
  -    member private this.Roots = roots
  -        
  -    member this.Count = count
  -
  -    member this.IsDescending = descending
  -
  -    member this.IsEmpty = count = 0
  -
  -    member this.Insert value =
  +    member private __.Roots = roots
  +        
  +    member __.Count = count
  +
  +    member __.IsDescending = descending
  +
  +    member __.IsEmpty = count = 0
  +
  +    member __.Insert value =
           SkewBinomialHeap (count + 1, descending, SBHTreeRoot.insert descending value roots)
   
  -    member this.TryMerge (other: 'T SkewBinomialHeap) =
  +    member __.TryMerge (other: 'T SkewBinomialHeap) =
           if descending = other.IsDescending 
               then Some (SkewBinomialHeap (count + other.Count, descending, SBHTreeRoot.mergeRoots descending (SBHTreeRoot.normalize descending roots) (SBHTreeRoot.normalize descending other.Roots)))
               else None
  
positive.code:         | Some t -> t
          | None   -> invalidOp "Empty heap, no head and no tail"
  
      member this.ToList () =
          SBHTreeRoot.toListOrdered descending roots
  
      interface 'T SkewBinomialHeap System.IEquatable with
  
negative.code:         | Some h -> h
          | _      -> raise (IncompatibleMerge "Can not merge two heaps with diferent comparison methods")
  
      member __.TryHead () =
          if count = 0
              then None
              else Some (SBHTreeRoot.findMinRootItem descending roots)
  