This should now actually work properly. Also, add a debug_exceptions flag to rethrow exceptions so I can get line numbers.