pub(crate) fn opaque_ty(ty: &Option<P<Ty>>) -> Option<&GenericBounds>