    /*
     *  call-seq:
     *     multi_mapper.map(string) -> mapped_string
     *
     *  Performs all the mappings on the string.
     */
    VALUE
    frb_mulmap_map(VALUE self, VALUE rstring)
    {
        MultiMapper *mulmap = DATA_PTR(self);
        char *string = rs2s(rb_obj_as_string(rstring));
        char *mapped_string = mulmap_dynamic_map(mulmap, string);
        VALUE rmapped_string = rb_str_new2(mapped_string);
        free(mapped_string);
        return rmapped_string;
    }