diff --git a/src/dict.rs b/src/dict.rs
index 333f8dd..e5cb464 100644
--- a/src/dict.rs
+++ b/src/dict.rs
@@ -24,6 +24,14 @@ pub trait TypeDict : Send + Sync {
             self.insert(new, tyid);
         }
     }
+
+    fn get_typeid_creat(&mut self, tn: &String) -> TypeID {
+        if let Some(id) = self.get_typeid(tn) {
+            id
+        } else {
+            self.add_typename(tn.clone())
+        }
+    }
 }
 
 //<<<<>>>><<>><><<>><<<*>>><<>><><<>><<<<>>>>\\