Currying a closure produces a new closure with one or more of it's parameters having a fixed value
Left or right currying a closure that has no parameters or index based currying a closure that has less than two parameters throws an IllegalArgumentException