соответственно, ты можешь накапливать какой-то юнион или интерсекшнн тип, потом из параметра трейта его пробросить в компаньон, а потом проверять на субтайпинг в универсальном инстансе
т.е. единственный яп, где это есть в полузаконченном виде - это хошкель, и там очень много языковых средств вокруг коерс инстансов, тайп ролей и деривации в скале придётся прувить большой кусок вокруг этого, а опаки дёшевы, сердиты