I've just merged a big change to the C version Orca: the semantics of the virtual machine are now single-pass. Start in the top left, go line by line to the bottom right. That's all. No more haste/two-phase/split behavior.
It's much easier to reason about, and easier to explain. I haven't yet found any cases where you can't do something that could have been done before. I would be interested in anyone to hear from @Lutrinus and anyone else about this.