Collect all sorts resolved to a generic type in a list of refinement parameters. Return the set
of generic def_ids used (sorted by their position in the list of generics).
Traverses the hir for an item and collects the def_id of any opaque type (i.e., impl Trait or async)
Currently, we only support up to one opaque type and we report an error if thereβs more than one.