render(characters = [], exclude = []) {

        // If no characters are provided, return the raw value.
        if (!characters.length) return this.value;
        return mapString(this.value, (char, index) => {

            // Skip any characters that are passed as exclude.
            if (exclude.indexOf(char) > -1) return char;

            /**
            * If corresponding bitmap index is truthy, return
            * a randomly chosen character from characters, else
            * return this character.
            */
            return this.bitmap[index] ?
                sample(characters) :
                char;
        });
    }
Create and return a string by mapping each character in
this.value to either one of the provided characters randomly
or to itself, depending on whether the corresponding bitmap
index is truthy.