fn extract_fragment_and_subpath(path: &Path) -> Result<(&str, String)>