pub fn forall_params<'a, T, Id>(
    typ: &'a T
) -> impl Iterator<Item = &'a Generic<Id>>
where Id: 'a, T: TypePtr<Id = Id>,