interface Eff {
B f(A a);
}
class Disfunction {
public static Eff vary(final Eff super A, ? extends B> f) {
return a -> f.f(a);
}
public static Eff, Eff> vary() {
return Disfunction::vary;
}
public static Eff, Eff> vary1() {
return Disfunction::vary;
}
}