I did some iteration on the sheet interface. Slightly worryingly, it seems to have a lot of false negatives around typing, even when I think I'm being restrictive. Regardless, I rearranged a bunch of stuff, and changed which types get foregrounded, and I think it's an improvement. I'm going to need to try this out for real to see if any more tweaks are required; there are some bits that suggest to me that I might end up needing to do some complicated metaprogramming, but I'd rather do that later than sooner.
I didn't have time tonight to work on the sheet editing actions, which I'm going to call "operations". I'll have to mock up usage of those ahead of time, because I feel like there are a bunch of possibilities for the interface and I can't figure out which would work best for my intended use case solely by thinking really hard. I'll try to do some mockups tomorrow.