diff --git a/vm.go b/vm.go
index <HASH>..<HASH> 100644
--- a/vm.go
+++ b/vm.go
@@ -102,18 +102,14 @@ func (l *State) equalObjects(t1, t2 value) bool {
 	case *userData:
 		if t1 == t2 {
 			return true
-		} else if t2, ok := t2.(*userData); ok && t2 != nil {
+		} else if t2, ok := t2.(*userData); ok {
 			tm = l.equalTagMethod(t1.metaTable, t2.metaTable, tmEq)
-		} else if !ok || t2 == nil {
-			return false
 		}
 	case *table:
 		if t1 == t2 {
 			return true
-		} else if t2, ok := t2.(*table); ok && t2 != nil {
+		} else if t2, ok := t2.(*table); ok {
 			tm = l.equalTagMethod(t1.metaTable, t2.metaTable, tmEq)
-		} else if !ok || t2 == nil {
-			return false
 		}
 	default:
 		return t1 == t2
Simplify type check on (*State).equalObjects

Removes excess `return false`. This also removes the ok check since we
only really care if t2 is a table or userdata. If t2 is also a nil
pointer to a table/UD, then the Lua state is somehow far worse off than
anticipated anyway and a panic may be more valuable when accessing
t2.metaTable.