split case O into OB, O0, and O1
replace array S with just a pointer to the closure on the top of the stack
correct format for debug, remove s<M check as there is no fixed array
add show function, include stack and environment in trace
add showT, put show* calls behind assert