new printer for compile_top

expects the things to print to already be in the global store rather
than on the stack