code: func (l *State) ToUnsigned(index int) (uint, bool) {
  	if n, ok := l.toNumber(l.indexToValue(index)); ok {
  		const supUnsigned = float64(^uint32(0)) + 1
  		return uint(n - math.Floor(n/supUnsigned)*supUnsigned), true
  	}
  	return 0, false
  }
docs: // ToUnsigned converts the Lua value at index to a Go uint. The Lua value
  // must be a number or a string convertible to a number.
  //
  // If the number is not an unsigned integer, it is truncated in some
  // non-specified way.  If the number is outside the range of uint, it is
  // normalized to the remainder of its division by one more than the maximum
  // representable value.
  //
  // If the operation failed, the second return value will be false.
  //
  // http://www.lua.org/manual/5.2/manual.html#lua_tounsignedx