Coding 2023-10-27
I did a little research, and I've decided to go with DependentMapping. I'm still trying to figure out how to organize things. Because, I want to bring in sample magmas that other code can drop into update_with() calls.
I think I want this to look something like
import dependent_mapping.magmas
...
CustomMapping = dependent_mapping.DependentMapping[_CustomCallableProtocol]
That's straightforward enough to describe, but I've lost track of the guidance on what's acceptable to put in __init__.py files, and the DependentMapping protocol is... beefy. (That said, some of the opinions I remember seeing about __init__.py came from people who also said that slash args were useless, which is a fascinating position to take with respect to a project I was working on at the time, which contained some functions that needed to take a limited number of positional arguments, and totally arbitrary keyword arguments.)
So, I'm going to publish this entry, and start reading up on what is and isn't acceptable in __init__.py files. And get to bed at a somewhat reasonable time.
Good night.