I'm disappointed that this is so hard to express. I really want the convenience of multiple assignments. It's still possible though but requires boilerplate. So first, make a real state machine. Something simpler than the uart. Then iron out the language. EDIT: I have a basic skeleton for the UART. Needs some cleanup, but basically it seems ok.