pub async fn canonicalise(self) -> std::io::Result<Self> {
		Ok(Self {
			origin: canonicalize(&self.origin).await?,
			explicit_watches: try_join_all(self.explicit_watches.into_iter().map(canonicalize))
				.await?,
			explicit_ignores: try_join_all(self.explicit_ignores.into_iter().map(canonicalize))
				.await?,
		})
	}
Canonicalise all paths.

The result is always well-formed.
crates/ignore-files/src/discover.rs