This is the implementation described in chapter reftraditional. As a bonus the implementation includes 3 different methods for building the heap. Bottom up (bulk_insert), repeated adds (bulk_insert_repadd1) and a version of repeated adds where two siblings a shifted up at a time (bulk_insert_repadd2).