Coding 2026-02-01
A bit out of it and distracted today, but I did fix the tests that I broke in very strange ways, and got the tests most of the way to type checking. The exceptions are... obnoxious.
Basically, it made sense to turn a bunch of these helper methods I added into generic decorators, and to provide decorator-specific overloads to deal with the extra arguments. However, these arguments generally have related types, and it turns out that, if I don't actually use all of the functionality in the decorator arguments that I use in the function, then the returned decorator gets specialized with types that are subtypes of what I want them to be.
...
Got it. Very strange fix, but if it works, it works.
Anyway, I was able to apply this fix (adding an extra type variable to a specific overload) to some of the methods, but not all of them, so before I move on, I want to figure out what's going wrong with the functions where it doesn't work, because that's annoying, and I don't want to get a repeat of this when I start writing existential tests.
...
Well, I just did what should work, and slapped an ignore on it to deal with it later. The next obvious change to make is to update the existential helper methods, and that's going to be... interesting.
Any, right now I have to get to sleep.
Good night.