remove "== ::" and forbid non-arithmetic, non-dt values in registers
add error code to state machine operations
extract actual write, the machine should only forward values anyway