Coding 2026-01-18
I've got a messed-up Mypy bug in, and people can have fun with that.
After I got some sleep, I realized that the way I'd written the code to hit the bug was a lot of extra effort for no gain; so I unwound all of the "clever" stuff, and the code got a lot shorter.
I spaced out a bit on writing this entry after that sentence, so let's try to get it together and write something up quick.
So, I have an intuition that it would be nice to define function nodes by passing a constructor a lambda that maps a fresh variable to a computation. (This is in some ways problematic, because, following f-ing modules, the variables don't freshen.)
The other side of things, which I hadn't thought about for a bit, is that it would be nice to represent typing directionality in a builder context (since reduction doesn't preserve typability), so there would need to be some kind of wrapper class to represent that. Given the experiences I literally just had with prematurely implementing things, I definitely at least need to sleep on this.
Since it's late anyway, I'm going to just post this, and for now just write up the directionality of all of the relevant attributes; this should illuminate something or other without committing to any specific code change just yet.
Better wrap up after that.
Good night.