This is filled with debug prints, and is quite brutal: it saves the whole stack. It has to be optimized a lot. Also, needs a smooth stop when trying to unwind main.