code: func Require(l *State, name string, f Function, global bool) {
  	l.PushGoFunction(f)
  	l.PushString(name) // argument to f
  	l.Call(1, 1)       // open module
  	SubTable(l, RegistryIndex, "_LOADED")
  	l.PushValue(-2)      // make copy of module (call result)
  	l.SetField(-2, name) // _LOADED[name] = module
  	l.Pop(1)             // remove _LOADED table
  	if global {
  		l.PushValue(-1)   // copy of module
  		l.SetGlobal(name) // _G[name] = module
  	}
  }
docs: // Require calls function f with string name as an argument and sets the call
  // result in package.loaded[name], as if that function had been called
  // through require.
  //
  // If global is true, also stores the result into global name.
  //
  // Leaves a copy of that result on the stack.