docs: @Pure
  	public static <P1, P2, P3, RESULT> Function2<P2, P3, RESULT> curry(final Function3<? super P1, ? super P2, ? super P3, ? extends RESULT> function,
  			final P1 argument) {
  		if (function == null)
  			throw new NullPointerException("function");
  		return new Function2<P2, P3, RESULT>() {
  			@Override
  			public RESULT apply(P2 p2, P3 p3) {
  				return function.apply(argument, p2, p3);
  			}
  		};
  	}