interface X { int m(Iterable arg); } interface Y { int m(Iterable arg); } @FunctionalInterface interface Foo extends X, Y {} // Not functional: No method has a subsignature of all abstract methods