All right. I was playing video games most of the day, so I didn't touch MOTR, but gosh dang it, I want to, so let's see what I can do about the to-do list I wrote last time.
I was able to convert the methods into functions by dedenting the def line and running black.
Next, I need a helper that acts as a DynamicFunc[CmdMeta], given a Dynamic[T] and a Callable[[T], CmdMeta]. This is the core logic of map_1_dynamic, so I'll factor that out, then factor it out for the flex functions.
I'm working on shrinking down the insides of those functions so they're easier to reason about, but it looks like I added some typos in the latest refactor attempt, so I'm going to just fix those and publish.
I'll try to get a bit further tomorrow.