we can't do `out <:< c.pt`

that's because `out` and `c.pt` can be unrelated by inheritance, but still
`c` can be relevant wrt `out`

example: out = p.Qual.Name, c.pt = p.Term. even though p.Qual.Name is not
a subtype of p.Term, some of p.Term's are subtype of p.Qual.Name