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