diff --git a/lua.go b/lua.go
index <HASH>..<HASH> 100644
--- a/lua.go
+++ b/lua.go
@@ -751,8 +751,8 @@ func ToThread(l *State, index int) *State {
 }
 
 // ToValue convertes the value at `index` into a generic Go interface{}.  The
-// value can be a userdata, a table, a thread, a function, or Go string, bool,
-// uint, int or float64 types. Otherwise, the function returns nil.
+// value can be a userdata, a table, a thread, a function, or Go string, bool
+// or float64 types. Otherwise, the function returns nil.
 //
 // Different objects will give different values.  There is no way to convert
 // the value back into its original value.
@@ -763,12 +763,7 @@ func ToThread(l *State, index int) *State {
 func ToValue(l *State, index int) interface{} {
 	v := l.indexToValue(index)
 	switch v := v.(type) {
-	case string, uint, int, float64, bool:
-	case *table:
-	case *luaClosure:
-	case *goClosure:
-	case *goFunction:
-	case *State:
+	case string, float64, bool, *table, *luaClosure, *goClosure, *goFunction, *State:
 	case *userData:
 		return v.data
 	default:
uint and int aren't saved in the vm, so they can't occur.