in reply to Setting $! in xs

Wouldn't $? be better off, or setting an internal error that your XS would provide access to?
Information doesn't want to be free. It wants to be feline.