@natty @angelthorns Most IRC commands touch on some kind of state in some form. The main exceptions being PRIVMSG/NOTICE, those are basically read-only operations minus token bucket limiting/target change update, but that is very brief. You can mitigate it with things like caching things like if a user can send a message and only invalidating the cache if the mode set or ban/quiet/except list is updated... but then you're doing cache management, and you still gotta manage locks because those lists can be updated by another coroutine. IRC is... well, a very antiquated design. This is just how the protocol works.