pub(crate) fn create_enumerator(
        &mut self,
        method: IdentId,
        receiver: Value,
        mut args: Args,
    ) -> VMResult {
        let outer = self.caller_cfp();
        let self_val = outer.self_value();
        let proc = Value::procobj(self, self_val, METHOD_ENUM, outer);

        args.block = Some(proc.into());
        let fiber = self.create_enum_info(EnumInfo {
            method,
            receiver,
            args,
        });
        Ok(Value::enumerator(fiber))
    }
Create Enumerator object.
This fn is to be called from class library.
ruruby/src/vm/executor/fiber.rs