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