let add (heap: heap) (data: data) : unit =
    increase_heap_size heap data;

    sift_up heap data heap.hp_length;

    heap.hp_length <- heap.hp_length + 1;
    
    check heap