pub fn shell_destroy<F>(callback: F) -> Arc<dyn ShellDestroy> ⓘwhere F: Fn() -> Result<(), KError> + Send + Sync + 'static,