Lab note #060 Writing words and type checking effects

I spent a good part of this week writing and rewriting a blog post, as part of my commitment to publish more this year. I wrote about 10k words, only to keep about 4k of them. Must be the sunk cost fallacy, because it feels bad to delete entire pages of words. In contrast, I don't mind deleting code, as non-existent code is one I don't have to worry about.
This time, I also had o3 read my post and give me feedback as an editor. It's part of the reason why I wrote so much and then decided to change the thrust of the post. The post is better for it, but it was about three times more work than I expected. The post is about visual programming and it'll come out on Thursday. All written by hand.
I did make progress on the effect system, but mostly incremental. Cleaned up some stuff, added nested handlers, made the type checking tighter, amongst other things. In the end, I could only enforce checking of an effectful function and the handler, but to tie the two together would require some kind of runtime checks. For now, I think this should be enough, so I skipped it.
I also did another deep research with GPT about implementing multiple resumption effect systems, and how you'd have to implement your own call stack. How would it work? How does the manipulation of the call stack in algebraic effects relate to monads, free monads, and the React fiber tree? This time, I did deep research with both o1-pro and o3-mini, to see the different. o3-mini was faster responding, and its response seemed more nuanced and detailed. This is a single data point, however.
Everything right now is still synchronous, but I have enough to start building out a pipeline to see how it feels. Then I can integrate it back into the notebook code I had earlier and rip out the previous code.
I think I'll need to find a way to timebox the post writing. It's just that I didn't find out what I was writing about until more than halfway through. Perhaps the writing process need to change by dictating into o4, what I want to say, before commiting to paper. That way, I can commit to making more progress coding, as I need to move faster. Exercise those muscles.