Yes, currently the code depends on this contiguous structure because of its utilization of dictionaries rather than lists.  At present, the switch from dictionaries to lists would be very involved, as this dependency is engrained in the entire package and how some of the users work with the final output it produces.  That said, we are still planning to work on it, but in the mean time might as well feel comfortable knowing that this section of the code is working properly.
Either way, I think the partitions from which adjust_partition selects and attempts to implement should be updated after a merge occurs still.