/** * Curry this closure by fixing one of its free variable to a given value. * @param curry The value to which the free variable should be curry * @param position The 1-based position of the variable to which apply the curry operation * @return A Closure having a free variable less than this one since one of them has been fixed to the given value * @throws IllegalArgumentException if this closure doesn't have a free variable in the specified position */ public Closure curry(Object curry, int position) throws IllegalArgumentException { return curry(new Closure(), curry, position); }