pub async fn load_files<T, F, Fut>( dir: &Path, filter: impl Fn(&Path) -> bool, loader: F, ) -> Result<Vec<T>>where F: Fn(PathBuf) -> Fut, Fut: Future<Output = Result<T>>,