pub fn shell_apply<F>(callback: F) -> Arc<dyn ShellApply> ⓘwhere F: Fn(PcSide, &[S], &mut [S]) -> Result<(), KError> + Send + Sync + 'static,