http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Consumer8.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Consumer8.java 
b/src/main/groovy/groovy/util/function/Consumer8.java
deleted file mode 100644
index 07f1e40..0000000
--- a/src/main/groovy/groovy/util/function/Consumer8.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-
-
-/**
- * A consumer with 8 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Consumer8<T1, T2, T3, T4, T5, T6, T7, T8> {
-
-    /**
-     * Performs this operation on the given argument.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default void accept(Tuple8<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8> args) {
-        accept(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8());
-    }
-
-    /**
-     * Performs this operation on the given argument.
-     */
-    void accept(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8);
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer7<T2, T3, T4, T5, T6, T7, T8> acceptPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8) -> accept(v1, v2, v3, v4, v5, v6, 
v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer6<T3, T4, T5, T6, T7, T8> acceptPartially(T1 v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8) -> accept(v1, v2, v3, v4, v5, v6, v7, 
v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer5<T4, T5, T6, T7, T8> acceptPartially(T1 v1, T2 v2, T3 v3) 
{
-        return (v4, v5, v6, v7, v8) -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer4<T5, T6, T7, T8> acceptPartially(T1 v1, T2 v2, T3 v3, T4 
v4) {
-        return (v5, v6, v7, v8) -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer3<T6, T7, T8> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5) {
-        return (v6, v7, v8) -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer2<T7, T8> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6) {
-        return (v7, v8) -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer1<T8> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, 
T6 v6, T7 v7) {
-        return (v8) -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer0 acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8) {
-        return () -> accept(v1, v2, v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer7<T2, T3, T4, T5, T6, T7, T8> acceptPartially(Tuple1<? 
extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8) -> accept(args.getV1(), v2, v3, 
v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer6<T3, T4, T5, T6, T7, T8> acceptPartially(Tuple2<? extends 
T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8) -> accept(args.getV1(), args.getV2(), 
v3, v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer5<T4, T5, T6, T7, T8> acceptPartially(Tuple3<? extends T1, 
? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8) -> accept(args.getV1(), args.getV2(), 
args.getV3(), v4, v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer4<T5, T6, T7, T8> acceptPartially(Tuple4<? extends T1, ? 
extends T2, ? extends T3, ? extends T4> args) {
-        return (v5, v6, v7, v8) -> accept(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), v5, v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer3<T6, T7, T8> acceptPartially(Tuple5<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
-        return (v6, v7, v8) -> accept(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), v6, v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer2<T7, T8> acceptPartially(Tuple6<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) {
-        return (v7, v8) -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), v7, v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer1<T8> acceptPartially(Tuple7<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> args) {
-        return (v8) -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), v8);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer0 acceptPartially(Tuple8<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8> args) {
-        return () -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8());
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Consumer9.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Consumer9.java 
b/src/main/groovy/groovy/util/function/Consumer9.java
deleted file mode 100644
index f4503c2..0000000
--- a/src/main/groovy/groovy/util/function/Consumer9.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A consumer with 9 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Consumer9<T1, T2, T3, T4, T5, T6, T7, T8, T9> {
-
-    /**
-     * Performs this operation on the given argument.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default void accept(Tuple9<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9> args) {
-        accept(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9());
-    }
-
-    /**
-     * Performs this operation on the given argument.
-     */
-    void accept(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9);
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer8<T2, T3, T4, T5, T6, T7, T8, T9> acceptPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9) -> accept(v1, v2, v3, v4, v5, 
v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer7<T3, T4, T5, T6, T7, T8, T9> acceptPartially(T1 v1, T2 
v2) {
-        return (v3, v4, v5, v6, v7, v8, v9) -> accept(v1, v2, v3, v4, v5, v6, 
v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer6<T4, T5, T6, T7, T8, T9> acceptPartially(T1 v1, T2 v2, T3 
v3) {
-        return (v4, v5, v6, v7, v8, v9) -> accept(v1, v2, v3, v4, v5, v6, v7, 
v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer5<T5, T6, T7, T8, T9> acceptPartially(T1 v1, T2 v2, T3 v3, 
T4 v4) {
-        return (v5, v6, v7, v8, v9) -> accept(v1, v2, v3, v4, v5, v6, v7, v8, 
v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer4<T6, T7, T8, T9> acceptPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5) {
-        return (v6, v7, v8, v9) -> accept(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer3<T7, T8, T9> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6) {
-        return (v7, v8, v9) -> accept(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer2<T8, T9> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7) {
-        return (v8, v9) -> accept(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer1<T9> acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, 
T6 v6, T7 v7, T8 v8) {
-        return (v9) -> accept(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer0 acceptPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9) {
-        return () -> accept(v1, v2, v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer8<T2, T3, T4, T5, T6, T7, T8, T9> acceptPartially(Tuple1<? 
extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9) -> accept(args.getV1(), v2, 
v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer7<T3, T4, T5, T6, T7, T8, T9> acceptPartially(Tuple2<? 
extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9) -> accept(args.getV1(), 
args.getV2(), v3, v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer6<T4, T5, T6, T7, T8, T9> acceptPartially(Tuple3<? extends 
T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9) -> accept(args.getV1(), args.getV2(), 
args.getV3(), v4, v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer5<T5, T6, T7, T8, T9> acceptPartially(Tuple4<? extends T1, 
? extends T2, ? extends T3, ? extends T4> args) {
-        return (v5, v6, v7, v8, v9) -> accept(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), v5, v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer4<T6, T7, T8, T9> acceptPartially(Tuple5<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
-        return (v6, v7, v8, v9) -> accept(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), v6, v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer3<T7, T8, T9> acceptPartially(Tuple6<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) {
-        return (v7, v8, v9) -> accept(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer2<T8, T9> acceptPartially(Tuple7<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> args) 
{
-        return (v8, v9) -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), v8, v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer1<T9> acceptPartially(Tuple8<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8> args) {
-        return (v9) -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), v9);
-    }
-
-    /**
-     * Let this consumer partially accept the arguments.
-     */
-    default Consumer0 acceptPartially(Tuple9<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9> args) {
-        return () -> accept(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9());
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function0.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function0.java 
b/src/main/groovy/groovy/util/function/Function0.java
deleted file mode 100644
index 4a2a219..0000000
--- a/src/main/groovy/groovy/util/function/Function0.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple0;
-
-import java.util.function.Supplier;
-
-/**
- * A function with 0 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function0<R> extends Supplier<R> {
-
-    /**
-     * Apply this function to the arguments.
-     */
-    default R apply() {
-        return get();
-    }
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple0 args) {
-        return get();
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    @Override
-    R get();
-
-    /**
-     * Convert this function to a {@link Supplier}
-     */
-    default Supplier<R> toSupplier() {
-        return this::apply;
-    }
-
-    /**
-     * Convert to this function from a {@link Supplier}
-     */
-    static <R> Function0<R> from(Supplier<R> supplier) {
-        return supplier::get;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function1.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function1.java 
b/src/main/groovy/groovy/util/function/Function1.java
deleted file mode 100644
index f439018..0000000
--- a/src/main/groovy/groovy/util/function/Function1.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-
-import java.util.function.Function;
-
-/**
- * A function with 1 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function1<T1, R> extends Function<T1, R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple1<? extends T1> args) {
-        return apply(args.getV1());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    @Override
-    R apply(T1 v1);
-
-    /**
-     * Convert this function to a {@link Function}.
-     */
-    default Function<T1, R> toFunction() {
-        return this::apply;
-    }
-
-    /**
-     * Convert to this function from a {@link Function}.
-     */
-    static <T1, R> Function1<T1, R> from(Function<? super T1, ? extends R> 
function) {
-        return function::apply;
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1) {
-        return () -> apply(v1);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple1<? extends T1> args) {
-        return () -> apply(args.getV1());
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function10.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function10.java 
b/src/main/groovy/groovy/util/function/Function10.java
deleted file mode 100644
index d8c9a9f..0000000
--- a/src/main/groovy/groovy/util/function/Function10.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple10;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A function with 10 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple10<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9, ? extends T10> args) {
-        return apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9(), 
args.getV10());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 
v10);
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T2, T3, T4, T5, T6, T7, T8, T9, T10, R> 
applyPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10) -> apply(v1, v2, v3, v4, 
v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T3, T4, T5, T6, T7, T8, T9, T10, R> applyPartially(T1 
v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10) -> apply(v1, v2, v3, v4, v5, 
v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T4, T5, T6, T7, T8, T9, T10, R> applyPartially(T1 v1, T2 
v2, T3 v3) {
-        return (v4, v5, v6, v7, v8, v9, v10) -> apply(v1, v2, v3, v4, v5, v6, 
v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T5, T6, T7, T8, T9, T10, R> applyPartially(T1 v1, T2 v2, 
T3 v3, T4 v4) {
-        return (v5, v6, v7, v8, v9, v10) -> apply(v1, v2, v3, v4, v5, v6, v7, 
v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T6, T7, T8, T9, T10, R> applyPartially(T1 v1, T2 v2, T3 
v3, T4 v4, T5 v5) {
-        return (v6, v7, v8, v9, v10) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, 
v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T7, T8, T9, T10, R> applyPartially(T1 v1, T2 v2, T3 v3, 
T4 v4, T5 v5, T6 v6) {
-        return (v7, v8, v9, v10) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T8, T9, T10, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5, T6 v6, T7 v7) {
-        return (v8, v9, v10) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T9, T10, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6, T7 v7, T8 v8) {
-        return (v9, v10) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T10, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7, T8 v8, T9 v9) {
-        return (v10) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9, T10 v10) {
-        return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T2, T3, T4, T5, T6, T7, T8, T9, T10, R> 
applyPartially(Tuple1<? extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10) -> apply(args.getV1(), 
v2, v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T3, T4, T5, T6, T7, T8, T9, T10, R> 
applyPartially(Tuple2<? extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10) -> apply(args.getV1(), 
args.getV2(), v3, v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T4, T5, T6, T7, T8, T9, T10, R> applyPartially(Tuple3<? 
extends T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9, v10) -> apply(args.getV1(), 
args.getV2(), args.getV3(), v4, v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T5, T6, T7, T8, T9, T10, R> applyPartially(Tuple4<? 
extends T1, ? extends T2, ? extends T3, ? extends T4> args) {
-        return (v5, v6, v7, v8, v9, v10) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), v5, v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T6, T7, T8, T9, T10, R> applyPartially(Tuple5<? extends 
T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
-        return (v6, v7, v8, v9, v10) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), v6, v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T7, T8, T9, T10, R> applyPartially(Tuple6<? extends T1, 
? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) {
-        return (v7, v8, v9, v10) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T8, T9, T10, R> applyPartially(Tuple7<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7> args) {
-        return (v8, v9, v10) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), v8, v9, 
v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T9, T10, R> applyPartially(Tuple8<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8> args) {
-        return (v9, v10) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), v9, v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T10, R> applyPartially(Tuple9<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? 
extends T8, ? extends T9> args) {
-        return (v10) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), v10);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple10<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9, ? extends T10> args) {
-        return () -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function11.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function11.java 
b/src/main/groovy/groovy/util/function/Function11.java
deleted file mode 100644
index 4289c7e..0000000
--- a/src/main/groovy/groovy/util/function/Function11.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple10;
-import groovy.lang.Tuple11;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A function with 11 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple11<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9, ? extends T10, ? extends T11> args) {
-        return apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9(), 
args.getV10(), args.getV11());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 
v10, T11 v11);
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> 
applyPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> apply(v1, v2, v3, 
v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T3, T4, T5, T6, T7, T8, T9, T10, T11, R> 
applyPartially(T1 v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11) -> apply(v1, v2, v3, v4, 
v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T4, T5, T6, T7, T8, T9, T10, T11, R> applyPartially(T1 
v1, T2 v2, T3 v3) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11) -> apply(v1, v2, v3, v4, v5, 
v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T5, T6, T7, T8, T9, T10, T11, R> applyPartially(T1 v1, 
T2 v2, T3 v3, T4 v4) {
-        return (v5, v6, v7, v8, v9, v10, v11) -> apply(v1, v2, v3, v4, v5, v6, 
v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T6, T7, T8, T9, T10, T11, R> applyPartially(T1 v1, T2 
v2, T3 v3, T4 v4, T5 v5) {
-        return (v6, v7, v8, v9, v10, v11) -> apply(v1, v2, v3, v4, v5, v6, v7, 
v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T7, T8, T9, T10, T11, R> applyPartially(T1 v1, T2 v2, T3 
v3, T4 v4, T5 v5, T6 v6) {
-        return (v7, v8, v9, v10, v11) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, 
v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T8, T9, T10, T11, R> applyPartially(T1 v1, T2 v2, T3 v3, 
T4 v4, T5 v5, T6 v6, T7 v7) {
-        return (v8, v9, v10, v11) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T9, T10, T11, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5, T6 v6, T7 v7, T8 v8) {
-        return (v9, v10, v11) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T10, T11, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
-        return (v10, v11) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, 
v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T11, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) {
-        return (v11) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) {
-        return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> 
applyPartially(Tuple1<? extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> 
apply(args.getV1(), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T3, T4, T5, T6, T7, T8, T9, T10, T11, R> 
applyPartially(Tuple2<? extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11) -> apply(args.getV1(), 
args.getV2(), v3, v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T4, T5, T6, T7, T8, T9, T10, T11, R> 
applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11) -> apply(args.getV1(), 
args.getV2(), args.getV3(), v4, v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T5, T6, T7, T8, T9, T10, T11, R> applyPartially(Tuple4<? 
extends T1, ? extends T2, ? extends T3, ? extends T4> args) {
-        return (v5, v6, v7, v8, v9, v10, v11) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), v5, v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T6, T7, T8, T9, T10, T11, R> applyPartially(Tuple5<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
-        return (v6, v7, v8, v9, v10, v11) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), v6, v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T7, T8, T9, T10, T11, R> applyPartially(Tuple6<? extends 
T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) 
{
-        return (v7, v8, v9, v10, v11) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T8, T9, T10, T11, R> applyPartially(Tuple7<? extends T1, 
? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7> args) {
-        return (v8, v9, v10, v11) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), v8, v9, 
v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T9, T10, T11, R> applyPartially(Tuple8<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8> args) {
-        return (v9, v10, v11) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), v9, v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T10, T11, R> applyPartially(Tuple9<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9> args) {
-        return (v10, v11) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), v10, v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T11, R> applyPartially(Tuple10<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? 
extends T8, ? extends T9, ? extends T10> args) {
-        return (v11) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), v11);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple11<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9, ? extends T10, ? extends T11> args) {
-        return () -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function12.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function12.java 
b/src/main/groovy/groovy/util/function/Function12.java
deleted file mode 100644
index 6f4a305..0000000
--- a/src/main/groovy/groovy/util/function/Function12.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple10;
-import groovy.lang.Tuple11;
-import groovy.lang.Tuple12;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A function with 12 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 
R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple12<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9, ? extends T10, ? extends T11, ? extends T12> args) {
-        return apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9(), 
args.getV10(), args.getV11(), args.getV12());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 
v10, T11 v11, T12 v12);
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> apply(v1, 
v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(T1 v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> apply(v1, v2, 
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(T1 v1, T2 v2, T3 v3) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12) -> apply(v1, v2, v3, 
v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T5, T6, T7, T8, T9, T10, T11, T12, R> applyPartially(T1 
v1, T2 v2, T3 v3, T4 v4) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12) -> apply(v1, v2, v3, v4, 
v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T6, T7, T8, T9, T10, T11, T12, R> applyPartially(T1 v1, 
T2 v2, T3 v3, T4 v4, T5 v5) {
-        return (v6, v7, v8, v9, v10, v11, v12) -> apply(v1, v2, v3, v4, v5, 
v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T7, T8, T9, T10, T11, T12, R> applyPartially(T1 v1, T2 
v2, T3 v3, T4 v4, T5 v5, T6 v6) {
-        return (v7, v8, v9, v10, v11, v12) -> apply(v1, v2, v3, v4, v5, v6, 
v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T8, T9, T10, T11, T12, R> applyPartially(T1 v1, T2 v2, 
T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) {
-        return (v8, v9, v10, v11, v12) -> apply(v1, v2, v3, v4, v5, v6, v7, 
v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T9, T10, T11, T12, R> applyPartially(T1 v1, T2 v2, T3 
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
-        return (v9, v10, v11, v12) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, 
v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T10, T11, T12, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
-        return (v10, v11, v12) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T11, T12, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) {
-        return (v11, v12) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, 
v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T12, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) {
-        return (v12) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, 
v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12) {
-        return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(Tuple1<? extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> 
apply(args.getV1(), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(Tuple2<? extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> 
apply(args.getV1(), args.getV2(), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T4, T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12) -> apply(args.getV1(), 
args.getV2(), args.getV3(), v4, v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T5, T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> 
args) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), v5, v6, v7, v8, v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T6, T7, T8, T9, T10, T11, T12, R> 
applyPartially(Tuple5<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5> args) {
-        return (v6, v7, v8, v9, v10, v11, v12) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), v6, v7, v8, v9, v10, 
v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T7, T8, T9, T10, T11, T12, R> applyPartially(Tuple6<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6> args) {
-        return (v7, v8, v9, v10, v11, v12) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, 
v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T8, T9, T10, T11, T12, R> applyPartially(Tuple7<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6, ? extends T7> args) {
-        return (v8, v9, v10, v11, v12) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), v8, v9, 
v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T9, T10, T11, T12, R> applyPartially(Tuple8<? extends 
T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? 
extends T7, ? extends T8> args) {
-        return (v9, v10, v11, v12) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), v9, v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T10, T11, T12, R> applyPartially(Tuple9<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9> args) {
-        return (v10, v11, v12) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), v10, v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T11, T12, R> applyPartially(Tuple10<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9, ? extends T10> args) {
-        return (v11, v12) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), v11, v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T12, R> applyPartially(Tuple11<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? 
extends T8, ? extends T9, ? extends T10, ? extends T11> args) {
-        return (v12) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), v12);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple12<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12> args) {
-        return () -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function13.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function13.java 
b/src/main/groovy/groovy/util/function/Function13.java
deleted file mode 100644
index 43a08f5..0000000
--- a/src/main/groovy/groovy/util/function/Function13.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple10;
-import groovy.lang.Tuple11;
-import groovy.lang.Tuple12;
-import groovy.lang.Tuple13;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A function with 13 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 
T13, R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple13<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9, ? extends T10, ? extends T11, ? extends T12, ? extends T13> args) {
-        return apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9(), 
args.getV10(), args.getV11(), args.getV12(), args.getV13());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 
v10, T11 v11, T12 v12, T13 v13);
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> 
apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(T1 v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> apply(v1, 
v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(T1 v1, T2 v2, T3 v3) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> apply(v1, v2, 
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(T1 v1, T2 v2, T3 v3, T4 v4) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12, v13) -> apply(v1, v2, v3, 
v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T6, T7, T8, T9, T10, T11, T12, T13, R> applyPartially(T1 
v1, T2 v2, T3 v3, T4 v4, T5 v5) {
-        return (v6, v7, v8, v9, v10, v11, v12, v13) -> apply(v1, v2, v3, v4, 
v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T7, T8, T9, T10, T11, T12, T13, R> applyPartially(T1 v1, 
T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) {
-        return (v7, v8, v9, v10, v11, v12, v13) -> apply(v1, v2, v3, v4, v5, 
v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T8, T9, T10, T11, T12, T13, R> applyPartially(T1 v1, T2 
v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) {
-        return (v8, v9, v10, v11, v12, v13) -> apply(v1, v2, v3, v4, v5, v6, 
v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T9, T10, T11, T12, T13, R> applyPartially(T1 v1, T2 v2, 
T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
-        return (v9, v10, v11, v12, v13) -> apply(v1, v2, v3, v4, v5, v6, v7, 
v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T10, T11, T12, T13, R> applyPartially(T1 v1, T2 v2, T3 
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
-        return (v10, v11, v12, v13) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, 
v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T11, T12, T13, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) {
-        return (v11, v12, v13) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T12, T13, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) {
-        return (v12, v13) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, 
v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T13, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12) {
-        return (v13) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, 
v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13) {
-        return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, 
v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple1<? extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> 
apply(args.getV1(), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple2<? extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> 
apply(args.getV1(), args.getV2(), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, 
v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> 
apply(args.getV1(), args.getV2(), args.getV3(), v4, v5, v6, v7, v8, v9, v10, 
v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T5, T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> 
args) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12, v13) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), v5, v6, v7, v8, v9, v10, v11, v12, 
v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T6, T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple5<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5> args) {
-        return (v6, v7, v8, v9, v10, v11, v12, v13) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), v6, v7, v8, v9, v10, 
v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T7, T8, T9, T10, T11, T12, T13, R> 
applyPartially(Tuple6<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5, ? extends T6> args) {
-        return (v7, v8, v9, v10, v11, v12, v13) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, 
v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T8, T9, T10, T11, T12, T13, R> applyPartially(Tuple7<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6, ? extends T7> args) {
-        return (v8, v9, v10, v11, v12, v13) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), 
args.getV7(), v8, v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T9, T10, T11, T12, T13, R> applyPartially(Tuple8<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6, ? extends T7, ? extends T8> args) {
-        return (v9, v10, v11, v12, v13) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), v9, v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T10, T11, T12, T13, R> applyPartially(Tuple9<? extends 
T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? 
extends T7, ? extends T8, ? extends T9> args) {
-        return (v10, v11, v12, v13) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), v10, v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T11, T12, T13, R> applyPartially(Tuple10<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9, ? extends T10> args) {
-        return (v11, v12, v13) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), args.getV10(), v11, v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T12, T13, R> applyPartially(Tuple11<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9, ? extends T10, ? extends T11> args) {
-        return (v12, v13) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), v12, v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T13, R> applyPartially(Tuple12<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? 
extends T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12> args) {
-        return (v13) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12(), v13);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple13<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12, ? extends T13> 
args) {
-        return () -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12(), args.getV13());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/892f67cd/src/main/groovy/groovy/util/function/Function14.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/function/Function14.java 
b/src/main/groovy/groovy/util/function/Function14.java
deleted file mode 100644
index 01c5f6d..0000000
--- a/src/main/groovy/groovy/util/function/Function14.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package groovy.util.function;
-
-import groovy.lang.Tuple1;
-import groovy.lang.Tuple10;
-import groovy.lang.Tuple11;
-import groovy.lang.Tuple12;
-import groovy.lang.Tuple13;
-import groovy.lang.Tuple14;
-import groovy.lang.Tuple2;
-import groovy.lang.Tuple3;
-import groovy.lang.Tuple4;
-import groovy.lang.Tuple5;
-import groovy.lang.Tuple6;
-import groovy.lang.Tuple7;
-import groovy.lang.Tuple8;
-import groovy.lang.Tuple9;
-
-
-/**
- * A function with 14 arguments.
- *
- * @since 3.0.0
- */
-@FunctionalInterface
-public interface Function14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 
T13, T14, R> {
-
-    /**
-     * Apply this function to the arguments.
-     *
-     * @param args The arguments as a tuple.
-     */
-    default R apply(Tuple14<? extends T1, ? extends T2, ? extends T3, ? 
extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends 
T9, ? extends T10, ? extends T11, ? extends T12, ? extends T13, ? extends T14> 
args) {
-        return apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), 
args.getV5(), args.getV6(), args.getV7(), args.getV8(), args.getV9(), 
args.getV10(), args.getV11(), args.getV12(), args.getV13(), args.getV14());
-    }
-
-    /**
-     * Apply this function to the arguments.
-     */
-    R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 
v10, T11 v11, T12 v12, T13 v13, T14 v14);
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 
T14, R> applyPartially(T1 v1) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function12<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(T1 v1, T2 v2) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(T1 v1, T2 v2, T3 v3) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> apply(v1, 
v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(T1 v1, T2 v2, T3 v3, T4 v4) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> apply(v1, v2, 
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) {
-        return (v6, v7, v8, v9, v10, v11, v12, v13, v14) -> apply(v1, v2, v3, 
v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) {
-        return (v7, v8, v9, v10, v11, v12, v13, v14) -> apply(v1, v2, v3, v4, 
v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T8, T9, T10, T11, T12, T13, T14, R> applyPartially(T1 
v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) {
-        return (v8, v9, v10, v11, v12, v13, v14) -> apply(v1, v2, v3, v4, v5, 
v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T9, T10, T11, T12, T13, T14, R> applyPartially(T1 v1, T2 
v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
-        return (v9, v10, v11, v12, v13, v14) -> apply(v1, v2, v3, v4, v5, v6, 
v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T10, T11, T12, T13, T14, R> applyPartially(T1 v1, T2 v2, 
T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
-        return (v10, v11, v12, v13, v14) -> apply(v1, v2, v3, v4, v5, v6, v7, 
v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T11, T12, T13, T14, R> applyPartially(T1 v1, T2 v2, T3 
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) {
-        return (v11, v12, v13, v14) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, 
v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T12, T13, T14, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 
v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11) {
-        return (v12, v13, v14) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, 
v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T13, T14, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, 
T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12) {
-        return (v13, v14) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, 
v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T14, R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 
v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13) {
-        return (v14) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, 
v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 
v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) {
-        return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, 
v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 
T14, R> applyPartially(Tuple1<? extends T1> args) {
-        return (v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(args.getV1(), v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function12<T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple2<? extends T1, ? extends T2> args) {
-        return (v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(args.getV1(), args.getV2(), v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, 
v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function11<T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple3<? extends T1, ? extends T2, ? extends T3> args) {
-        return (v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(args.getV1(), args.getV2(), args.getV3(), v4, v5, v6, v7, v8, v9, v10, 
v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function10<T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> 
args) {
-        return (v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), v5, v6, v7, v8, 
v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function9<T6, T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple5<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5> args) {
-        return (v6, v7, v8, v9, v10, v11, v12, v13, v14) -> 
apply(args.getV1(), args.getV2(), args.getV3(), args.getV4(), args.getV5(), v6, 
v7, v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function8<T7, T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple6<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5, ? extends T6> args) {
-        return (v7, v8, v9, v10, v11, v12, v13, v14) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), v7, v8, 
v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function7<T8, T9, T10, T11, T12, T13, T14, R> 
applyPartially(Tuple7<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? 
extends T5, ? extends T6, ? extends T7> args) {
-        return (v8, v9, v10, v11, v12, v13, v14) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), 
args.getV7(), v8, v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function6<T9, T10, T11, T12, T13, T14, R> applyPartially(Tuple8<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6, ? extends T7, ? extends T8> args) {
-        return (v9, v10, v11, v12, v13, v14) -> apply(args.getV1(), 
args.getV2(), args.getV3(), args.getV4(), args.getV5(), args.getV6(), 
args.getV7(), args.getV8(), v9, v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function5<T10, T11, T12, T13, T14, R> applyPartially(Tuple9<? 
extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends 
T6, ? extends T7, ? extends T8, ? extends T9> args) {
-        return (v10, v11, v12, v13, v14) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), v10, v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function4<T11, T12, T13, T14, R> applyPartially(Tuple10<? extends 
T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? 
extends T7, ? extends T8, ? extends T9, ? extends T10> args) {
-        return (v11, v12, v13, v14) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), args.getV10(), v11, v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function3<T12, T13, T14, R> applyPartially(Tuple11<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9, ? extends T10, ? extends T11> args) {
-        return (v12, v13, v14) -> apply(args.getV1(), args.getV2(), 
args.getV3(), args.getV4(), args.getV5(), args.getV6(), args.getV7(), 
args.getV8(), args.getV9(), args.getV10(), args.getV11(), v12, v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function2<T13, T14, R> applyPartially(Tuple12<? extends T1, ? 
extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends 
T7, ? extends T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12> 
args) {
-        return (v13, v14) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12(), v13, v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function1<T14, R> applyPartially(Tuple13<? extends T1, ? extends 
T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? 
extends T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12, ? 
extends T13> args) {
-        return (v14) -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12(), args.getV13(), v14);
-    }
-
-    /**
-     * Partially apply this function to the arguments.
-     */
-    default Function0<R> applyPartially(Tuple14<? extends T1, ? extends T2, ? 
extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends 
T8, ? extends T9, ? extends T10, ? extends T11, ? extends T12, ? extends T13, ? 
extends T14> args) {
-        return () -> apply(args.getV1(), args.getV2(), args.getV3(), 
args.getV4(), args.getV5(), args.getV6(), args.getV7(), args.getV8(), 
args.getV9(), args.getV10(), args.getV11(), args.getV12(), args.getV13(), 
args.getV14());
-    }
-
-}

Reply via email to