pub fn recoverable_error_hook<S: HasComponent<Component> + HasLogging>(
    vm: &VM<S>,
    recoverable_error: Box<Error>
) -> Result<(), Box<Error>>