castAll(typeFunctions) {
        if (typeFunctions.length !== this[__columns__].length) {
            throw new WrongSchemaError(typeFunctions, this[__columns__]);
        }
        return this.map(
            (row) =>
                new Row(
                    row
                        .toArray()
                        .map((column, index) => typeFunctions[index](column)),
                    this[__columns__]
                )
        );
    }
Cast each column into a given type.
@param {Array} typeFunctions The functions used to cast columns.
@returns {DataFrame} A new DataFrame with the columns having new types.
@example
df.castAll([Number, String, (val) => new CustomClass(val)])