Get rid of rethrowing for now -- it's hard to integrate properly.
Special-case warning

Because usually, a plain signal would not drop us in the debugger,
but cond wants to treat non-Errors as errors in the interest of being
compatible with other libraries. Maybe this behavior should be removed.