Neat! I've notices the 'swap' behaviour of the weird integer arithmetic that seems only ever to be mentioned in passing, and tried to make APIs with last/prev for levels and first/next for indices but this is nice way of putting it.
I'll add forward/backward indices to my list of alternate names for debruijn levels/indices (which never really give any hints as to what they actually *do* 😅).