Check type name duplication more compactly
diff --git a/syntax/set.rs b/syntax/set.rs
index ca816cf..688d1c0 100644
--- a/syntax/set.rs
+++ b/syntax/set.rs
@@ -18,10 +18,12 @@
         }
     }
 
-    pub fn insert(&mut self, value: &'a T) {
-        if self.set.insert(value) {
+    pub fn insert(&mut self, value: &'a T) -> bool {
+        let new = self.set.insert(value);
+        if new {
             self.vec.push(value);
         }
+        new
     }
 
     pub fn contains(&self, value: &T) -> bool {