pub fn deserialize_group<'de, Id, T, D>(
    seed: &mut Seed<Id, T>,
    deserializer: D
) -> Result<Arc<[AliasData<Id, T>]>, D::Error>
where D: Deserializer<'de>, T: TypePtr<Id = Id> + Clone + From<Type<Id, T>> + Any + DeserializeState<'de, Seed<Id, T>>, Id: DeserializeState<'de, Seed<Id, T>> + Clone + Any, T::Generics: Default + Extend<Generic<Id>> + Clone,