// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Set;
import java.util.Spliterator;
import java.util.Vector;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
import java.util.function.ToIntFunction;
import java.util.function.ToLongFunction;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import java.util.stream.Stream;
import static io.taciturn.Utility.$;
        return streamUtility.toVector();
    }

    public CollectionUtility<Vector<Item>, Item> mapToVector() {
        return streamUtility.mapToVector();
    }

    public Item[] toArray(Class<? extends Item> itemType) {
        return streamUtility.toArray(itemType);
    }

    public ArrayUtility<Item> mapToArray(Class<? extends Item> itemType) {
        return streamUtility.mapToArray(itemType);
    }

    public ArrayDeque<Item> toArrayDeque() {
        return streamUtility.toArrayDeque();
    }

    public CollectionUtility<ArrayDeque<Item>, Item> mapToArrayDeque() {
        return streamUtility.mapToArrayDeque();
    }

    public StreamUtility<Item> toStream() {
        return streamUtility;
    }

    @SuppressWarnings("unchecked")
    @SafeVarargs
    private static <Item> Item[] toArray(Item first, Item... rest) {
// Path: src/main/java/io/taciturn/Utility.java
// public static <Item> ClassUtility<Item> $(Class<Item> object) {
//     return new ClassUtility<>(object);
// }


// Path: src/main/java/io/taciturn/utility/ArrayUtility.java
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Set;
import java.util.Spliterator;
import java.util.Vector;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
import java.util.function.ToIntFunction;
import java.util.function.ToLongFunction;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import java.util.stream.LongStream;
import java.util.stream.Stream;
import static io.taciturn.Utility.$;

        return streamUtility.toVector();
    }

    public CollectionUtility<Vector<Item>, Item> mapToVector() {
        return streamUtility.mapToVector();
    }

    public Item[] toArray(Class<? extends Item> itemType) {
        return streamUtility.toArray(itemType);
    }

    public ArrayUtility<Item> mapToArray(Class<? extends Item> itemType) {
        return streamUtility.mapToArray(itemType);
    }

    public ArrayDeque<Item> toArrayDeque() {
        return streamUtility.toArrayDeque();
    }

    public CollectionUtility<ArrayDeque<Item>, Item> mapToArrayDeque() {
        return streamUtility.mapToArrayDeque();
    }

    public StreamUtility<Item> toStream() {
        return streamUtility;
    }

    @SuppressWarnings("unchecked")
    @SafeVarargs
    private static <Item> Item[] toArray(Item first, Item... rest) {
        $(first).mustNotBeNull();