added zip()
diff --git a/py/objtuple.c b/py/objtuple.c
index 7685cc4..5c1169e 100644
--- a/py/objtuple.c
+++ b/py/objtuple.c
@@ -116,8 +116,10 @@
     mp_obj_tuple_t *o = m_new_obj_var(mp_obj_tuple_t, mp_obj_t, n);
     o->base.type = &tuple_type;
     o->len = n;
-    for (int i = 0; i < n; i++) {
-        o->items[i] = items[i];
+    if (items) {
+        for (int i = 0; i < n; i++) {
+            o->items[i] = items[i];
+        }
     }
     return o;
 }
@@ -138,8 +140,18 @@
 void mp_obj_tuple_get(mp_obj_t self_in, uint *len, mp_obj_t **items) {
     assert(MP_OBJ_IS_TYPE(self_in, &tuple_type));
     mp_obj_tuple_t *self = self_in;
-    *len = self->len;
-    *items = &self->items[0];
+    if (len) {
+        *len = self->len;
+    }
+    if (items) {
+        *items = &self->items[0];
+    }
+}
+
+void mp_obj_tuple_del(mp_obj_t self_in) {
+    assert(MP_OBJ_IS_TYPE(self_in, &tuple_type));
+    mp_obj_tuple_t *self = self_in;
+    m_del_var(mp_obj_tuple_t, mp_obj_t, self->len, self);
 }
 
 /******************************************************************************/