fn module_new(vm: &mut VM, _: Value, args: &Args2) -> VMResult {
    args.check_args_num(0)?;
    let module = Module::module();
    let val = module.into();
    match &args.block {
        None => {}
        Some(block) => {
            let arg = Args::new1(val);
            let _ = vm.eval_block_self(block, val, &arg)?;
        }
    };
    Ok(val)
}
## singleton method Module.new
- new -> Module
- new {|mod| ... } -> Module

https://docs.ruby-lang.org/ja/latest/method/Module/s/new.html
ruruby/src/builtin/module.rs