code: func ToStringMeta(l *State, index int) (string, bool) {
  	if !CallMeta(l, index, "__tostring") {
  		switch l.TypeOf(index) {
  		case TypeNumber, TypeString:
  			l.PushValue(index)
  		case TypeBoolean:
  			if l.ToBoolean(index) {
  				l.PushString("true")
  			} else {
  				l.PushString("false")
  			}
  		case TypeNil:
  			l.PushString("nil")
  		default:
  			l.PushFString("%s: %p", TypeNameOf(l, index), l.ToValue(index))
  		}
  	}
  	return l.ToString(-1)
  }
docs: // ToStringMeta converts any Lua value at the given index to a Go string in a
  // reasonable format. The resulting string is pushed onto the stack and also
  // returned by the function.
  //
  // If the value has a metatable with a "__tostring" field, then ToStringMeta
  // calls the corresponding metamethod with the value as argument, and uses
  // the result of the call as its result.