The following function signatures need to be implemented by each backend: `_printf(msg: string)` `_exit(code: int)`