diff --git a/nac3core/src/toplevel/helper.rs b/nac3core/src/toplevel/helper.rs
index 2180d16e..e212ac8b 100644
--- a/nac3core/src/toplevel/helper.rs
+++ b/nac3core/src/toplevel/helper.rs
@@ -45,10 +45,15 @@ impl PrimitiveDefinitionIds {
         ]
     }
 
+    /// Returns an iterator over all [`DefinitionId`]s of this instance in indeterminate order.
+    pub fn iter(&self) -> impl Iterator<Item=DefinitionId> {
+        self.as_vec().into_iter()
+    }
+
     /// Returns the primitive with the largest [`DefinitionId`].
     #[must_use]
     pub fn max_id(&self) -> DefinitionId {
-        self.as_vec().into_iter().max().unwrap()
+        self.iter().max().unwrap()
     }
 }