pub fn canonical_workspace_roots<I, P>(roots: I) -> Result<Vec<PathBuf>>where I: IntoIterator<Item = P>, P: AsRef<Path>,