State of the coding: I managed to break the Rust compiler in what I assume is a new way, involving doing really weird things to the type checker. Besides that, I'm gradually making progress on the mypy plugin. I've put together enough stuff to get the Ctor annotations to typecheck, and now I just have to figure out how to handle the adt decorator. Ah, "just". I basically need to access a representation of the underlying type, somewhere, and replace the above-modified type annotations with functions or something. This is glossing over the fact that adt has helpers for various protocols. It has these helpers, because, you know, why not? I'm going to need to take those into account as well. I'll have to see if anything is needed for the match module, but the key interfaces to that look like they're mostly ending up with Any, anyway.
Anyway, I was so focused on getting the plugin to do stuff that I started this entry quite late, and now it's late, and it would be best for me if I finished this entry now.