making progress on an actual computational model with running/halted states.
replaced all monad fail calls with new exception handling mechanism that turns things into Halt objects