import java.util.function.Function; @FunctionalInterface public interface SelfApplicable extends Function, OUTPUT> { public default OUTPUT selfApply() { return apply(this); } }