Working on moving tiles within a tree (using i3wm as a model). A thorny negotiation between the data structure, what feels right, and avoiding a bunch of special-case code.