code: public static <T, U, R> Function<Pair<T, U>, R> tupled(BiFunction<T, U, R> function) {
          dbc.precondition(function != null, "cannot apply a pair to a null function");
          return pair -> function.apply(pair.first(), pair.second());
      }
docs: Adapts a binary function to a function accepting a pair.
  
  @param <T> the function first parameter type
  @param <U> the function second parameter type
  @param <R> the function return type
  @param function the function to be adapted
  @return the adapted function