rewrite PUSH/POP etc to be inline functions
POP_TYPE()