Kernel.raise should be a macro to avoid messing up the stack trace