How Should a Protocol Library Handle I/O?
Starting from an SSH library design problem, this question dragged me through blocking, event loops, Pollable APIs, and Sans-IO. I ended up discovering two orthogonal dimensions I'd been conflating all along.