В любом случае для использования ограниченного символа подстановки требуется, чтобы класс реализовывал более одного интерфейса?
Другими словами, что-то вроде ...
class Foo<S extends Comparable && Clonable>
... что потребовало бы, чтобы объекты расширяли оба интерфейса?
Я понимаю, что могу сделать еще один ComparableAndClonable, который расширяет их, но у меня нет контроля над некоторым кодом (поэтому я не могу заставить свой объект future-S реализовать ComparableAndClonable).