code: public static <T1, T2, T3> BiPredicate<T2, T3> curry(TriPredicate<T1, T2, T3> predicate, T1 first) {
          dbc.precondition(predicate != null, "cannot bind parameter of a null predicate");
          return (second, third) -> predicate.test(first, second, third);
      }
docs: Partial application of the first parameter to a ternary predicate.
  
  @param <T1> the predicate first parameter type
  @param <T2> the predicate second parameter type
  @param <T3> the predicate third parameter type
  @param predicate the predicate to be curried
  @param first the value to be curried as first parameter
  @return the curried binary predicate