union_contains
if (union_contains(union_tp, other_tp))
!(nst == UNION && union_contains(nstp, ostp))) {