     
     while start >= 0 {
         siftDown(&arr, start, count - 1)
-        start--
+        start -= 1
     }
 }
 

        
        while j > 0 && target < arr[j - 1] {
            swap(&arr[j], &arr[j - 1])
            j--
        }
        arr[j] = target
    }

        var child = root * 2 + 1
        
        if child + 1 <= end && arr[child] < arr[child + 1] {
            child += 1
        }
        
        if arr[root] < arr[child] {
