Doesn't the decreasing need to come before the setting, like it was before? In the start `stk` points to the byte after the end of the stack, doesn't it?