code: @Pure
  	public static <P1, RESULT> Function0<RESULT> curry(final Function1<? super P1, ? extends RESULT> function, final P1 argument) {
  		if (function == null)
  			throw new NullPointerException("function");
  		return new Function0<RESULT>() {
  			@Override
  			public RESULT apply() {
  				return function.apply(argument);
  			}
  		};
  	}
docs: Curries a function that takes one argument.
  
  @param function
  the original function. May not be <code>null</code>.
  @param argument
  the fixed argument.
  @return a function that takes no arguments. Never <code>null</code>.