py: simplify __next__ method for generators.
diff --git a/py/builtin.c b/py/builtin.c
index 11e19fd..7d2cc72 100644
--- a/py/builtin.c
+++ b/py/builtin.c
@@ -11,7 +11,6 @@
 #include "obj.h"
 #include "runtime0.h"
 #include "runtime.h"
-//#include "bc.h"
 #include "map.h"
 #include "builtin.h"
 
@@ -293,8 +292,13 @@
     }
 }
 
-static mp_obj_t mp_builtin_next(mp_obj_t o_in) {
-    return mp_obj_gen_instance_next(o_in);
+static mp_obj_t mp_builtin_next(mp_obj_t o) {
+    mp_obj_t ret = rt_iternext(o);
+    if (ret == mp_const_stop_iteration) {
+        nlr_jump(mp_obj_new_exception(qstr_from_str_static("StopIteration")));
+    } else {
+        return ret;
+    }
 }
 
 MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_next_obj, mp_builtin_next);