Okay, here's where I've gotten so far: after doing a bunch of things that were, with the help of internet searches, relatively obvious, I've managed to get ALE to pass the correct information to rstcheck. So, I'll be good to use custom directives in the worldbuilding. I'm glad that's over with.
Anyway, it's the weekend, so let's do a little MOTR work. It's somewhat late already, so I'm going to set myself a pretty modest goal for tonight: create the new class to hold the metadata for Dynamic, so I can then convert the explicit manipulations of that metadata into method calls. It's simple to start with: create the class, add the indirection, then fix Mypy errors until it's good to go.
Okay, I've made the changes required to get it to pass static checks. I won't really be able to trust it until I've got full coverage, though.
The next step is to catalog the usage of the new type, and see about writing methods. I don't think I'm up for that right now.