define signed arithmetic in the state machine as wrapping
decouple rank and width in the state machine
fix cmake shortcomings
remove handle all possible UB in the interpreter