diff --git a/py/gc.c b/py/gc.c
index 92f6348cbe41f723a7bbf5c96ff984b77e75c3f5..84c9918fd74739e787e9822bf5fbcd399848abf2 100644
--- a/py/gc.c
+++ b/py/gc.c
@@ -341,10 +341,9 @@ void gc_collect_root(void **ptrs, size_t len) {
     for (size_t i = 0; i < len; i++) {
         void *ptr = ptrs[i];
         if (VERIFY_PTR(ptr)) {
-            // Mark and push this pointer
             size_t block = BLOCK_FROM_PTR(ptr);
             if (ATB_GET_KIND(block) == AT_HEAD) {
-                // an unmarked head, mark it, and push it on gc stack
+                // An unmarked head: mark it, and mark all its children
                 TRACE_MARK(block, ptr);
                 ATB_HEAD_TO_MARK(block);
                 gc_mark_subtree(block);