+/**
+ * Returns the result of catenating the provided arraylikes into a new
+ * collection according to the algorithm of `Array::concat`.
+ */
+export const catenate = makeCallable(arrayPrototype.concat);
+
+/**
+ * Copies the items in the provided object to a new location according
+ * to the algorithm of `Array::copyWithin`.
+ */
+export const copyWithin = makeCallable(arrayPrototype.copyWithin);
+
+/**
+ * Fills the provided object with the provided value according to the
+ * algorithm of `Array::fill`.
+ */
+export const fill = makeCallable(arrayPrototype.fill);
+
+/**
+ * Returns the result of filtering the provided object with the
+ * provided callback, according to the algorithm of `Array::filter`.
+ */
+export const filter = makeCallable(arrayPrototype.filter);
+
+/**
+ * Returns the first index in the provided object whose value satisfies
+ * the provided callback according to the algorithm of
+ * `Array::findIndex`.
+ */
+export const findIndex = makeCallable(arrayPrototype.findIndex);
+
+/**
+ * Returns the first indexed entry in the provided object whose value
+ * satisfies the provided callback.
+ *
+ * If a third argument is supplied, it will be used as the this value
+ * of the callback.
+ */
+export const findIndexedEntry = (
+ $,
+ callback,
+ thisArg = undefined,
+) => {
+ let result = undefined;
+ findItem($, (kValue, k, O) => {
+ if (call(callback, thisArg, [kValue, k, O])) {
+ // The callback succeeded.
+ result = [k, kValue];
+ return true;
+ } else {
+ // The callback failed.
+ return false;
+ }
+ });
+ return result;
+};
+
+/**
+ * Returns the first indexed value in the provided object which
+ * satisfies the provided callback, according to the algorithm of
+ * `Array::find`.
+ */
+export const findItem = makeCallable(arrayPrototype.find);
+
+/**
+ * Returns the result of flatmapping the provided value with the
+ * provided callback according to the algorithm of `Array::flatMap`.
+ */
+export const flatmap = makeCallable(arrayPrototype.flatMap);
+
+/**
+ * Returns the result of flattening the provided object according to
+ * the algorithm of `Array::flat`.
+ */
+export const flatten = makeCallable(arrayPrototype.flat);
+
+/**
+ * Returns the first index of the provided object with a value
+ * equivalent to the provided value according to the algorithm of
+ * `Array::indexOf`.
+ */
+export const getFirstIndex = makeCallable(arrayPrototype.indexOf);
+
+/**
+ * Returns the item on the provided object at the provided index
+ * according to the algorithm of `Array::at`.
+ */
+export const getItem = makeCallable(arrayPrototype.at);
+
+/**
+ * Returns the last index of the provided object with a value
+ * equivalent to the provided value according to the algorithm of
+ * `Array::lastIndexOf`.
+ */
+export const getLastIndex = makeCallable(arrayPrototype.lastIndexOf);
+
+/**
+ * Returns whether every indexed value in the provided object satisfies
+ * the provided function, according to the algorithm of `Array::every`.
+ */
+export const hasEvery = makeCallable(arrayPrototype.every);
+
+/**
+ * Returns whether the provided object has an indexed value which
+ * satisfies the provided function, according to the algorithm of
+ * `Array::some`.
+ */
+export const hasSome = makeCallable(arrayPrototype.some);
+
+/**
+ * Returns whether the provided object has an indexed value equivalent
+ * to the provided value according to the algorithm of
+ * `Array::includes`.
+ *
+ * ※ This algorithm treats missing values as `undefined` rather than
+ * skipping them.
+ */
+export const includes = makeCallable(arrayPrototype.includes);
+
+/**
+ * Returns an iterator over the indexed entries in the provided value
+ * according to the algorithm of `Array::entries`.
+ */
+export const indexedEntries = makeCallable(arrayPrototype.entries);
+
+/**
+ * Returns an iterator over the indices in the provided value according
+ * to the algorithm of `Array::keys`.
+ */
+export const indices = makeCallable(arrayPrototype.keys);
+
+/** Returns whether the provided value is an array index string. */
+export const isArrayIndexString = ($) => {