refactor: use function-with-return
Remove unused function
`case` now has a value
Debug message should go to stderr

use util.debug
fix: `case` breaks the argument

translator must not modify arguments, so that it will be safe to
run translator twice (stmts-with-return is doing this.)
fix: negative number literals did not work