There's still a fair amount lurking in here, but I believe this logic is sound. Rather than duplicating the map/list logic under the opposing key, we set the logic up to use the second loop around (this is was how dedents worked, and now it also works for indents). I'm not convinced this is as easy to follow, and it did lead me to add some additional unreachables to the code, which should maybe be turned into error returns instead. It does reduce the odds of a code change missing a copied instance, which I think is a good thing.
Description
LORE
Languages
Zig
100%