[iter] Use more
diff --git a/src/hb-iter.hh b/src/hb-iter.hh
index 730f682..df7372e 100644
--- a/src/hb-iter.hh
+++ b/src/hb-iter.hh
@@ -367,7 +367,7 @@
 	    hb_enable_if (hb_is_iterable (A) && hb_is_iterable (B))>
   hb_zip_iter_t<hb_iter_t (A), hb_iter_t (B)>
   operator () (const A& a, const B &b) const
-  { return hb_zip_iter_t<hb_iter_t (A), hb_iter_t (B)> (a.iter (), b.iter ()); }
+  { return hb_zip_iter_t<hb_iter_t (A), hb_iter_t (B)> (hb_iter (a), hb_iter (b)); }
 } hb_zip HB_UNUSED;
 
 /* hb_apply() */
@@ -451,7 +451,7 @@
 inline void
 hb_fill (C& c, const V &v)
 {
-  for (auto i = c.iter (); i; i++)
+  for (auto i = hb_iter (c); i; i++)
     hb_assign (*i, v);
 }
 
diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index 6e54c87..70ddc28 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -1572,9 +1572,8 @@
       &class_def
     };
 
-    unsigned int count = ruleSet.len;
-    for (unsigned int i = 0; i < count; i++)
-      (this+ruleSet[i]).collect_glyphs (c, lookup_context);
+    for (auto it = hb_iter (ruleSet); it; ++it)
+      (this+*it).collect_glyphs (c, lookup_context);
   }
 
   bool would_apply (hb_would_apply_context_t *c) const
@@ -2219,9 +2218,8 @@
        &lookahead_class_def}
     };
 
-    unsigned int count = ruleSet.len;
-    for (unsigned int i = 0; i < count; i++)
-      (this+ruleSet[i]).collect_glyphs (c, lookup_context);
+    for (auto it = hb_iter (ruleSet); it; ++it)
+      (this+*it).collect_glyphs (c, lookup_context);
   }
 
   bool would_apply (hb_would_apply_context_t *c) const