    /*
     *  call-seq:
     *     MultiMapper.new() -> new_multi_mapper
     *
     *  Returns a new multi-mapper object and compiles it for optimization.
     *
     *  Note that MultiMapper is immutable.
     */
    static VALUE
    frb_mulmap_init(VALUE self, VALUE rmappings)
    {
        MultiMapper *mulmap = DATA_PTR(self);
        rb_hash_foreach(rmappings, frb_mulmap_add_mappings_i, (VALUE)mulmap);
        mulmap_compile(mulmap);

        return self;
    }