Once again, please post questions like these to weld-dev mailing list.
Fair. Thanks for answering.
To answer you, I think both of the predicates would be illegal bean types.
It doesn't matter if you actually "hide" the wildcard inside another parameter type.
OK, so "contains" truly means "contains": as the type is navigated, any occurrence of a wildcard encountered is illegal, no matter how "deep".
And this is because why, exactly? I'm sure there's a reason; my slow brain is just not seeing it this morning.
Best,
Laird