Creating a custom binary operator that can be applied to functions

Example

BinaryOperator<Boolean> myand = (x,y) -> x && y;
 
myand.apply([true, false]); // false