pub async fn construct_collection(
    host_names: Vec<CompactString>,
    hosts: &Hosts,
    exts: &ExtensionBundles,
    custom_exts: &CustomExtensions,
    opts: &CliOptions<'_>
) -> Result<Arc<Collection>, String>