rethrow is really the language independent primitive here. "throw" can be written