Coding 2026-01-31
Well, I used a not-very-good name, just to get things moving, and then I implemented a bunch of improvements, and then some tests started failing, so I reworked one little bit of the typing logic in universal and existential types, several times. Once that was done, I was able to write helper methods that introduce fresh type variables for universal types, which on the one hand allowed me to cut down on some test code, but involved a truly horrifying set of type annotations, and also some of the tests are no longer valid, and more will be broken by future updates. There's so much to do to pick up the pieces here:
- Figure out how to salvage the tests that will be broken by upcoming changes.
- Update the existential helper methods to make those changes possible.
- Make some non-destructive changes to the universal helper methods.
- Document the assumptions going into all of this, especially the typing code that I updated to hopefully match the subsumption code.
- Update the test code to take full advantage of the updated helper methods.
Anyway, I have to get to bed now. It's so late.
Good night.