Not calling the indexchanged callback here meant that if K_BHeapSortDown didn't make any changes, the item at index 0 would never call the callback despite changing position.
This is done specifically on static functions that aren't used as callbacks.
This is done to keep the code cleaner, and the I_Asserts get compiled out in Release builds.
Logic is left in the "public" functions to avoid crashes as a result of the modules.