Consolidate under_name code
diff --git a/codegen/src/gen.rs b/codegen/src/gen.rs
index 30cee0d..fd77d0d 100644
--- a/codegen/src/gen.rs
+++ b/codegen/src/gen.rs
@@ -1,7 +1,13 @@
+use inflections::Inflect;
+use proc_macro2::{Ident, Span};
 use syn_codegen as types;
 
 pub const TERMINAL_TYPES: &[&str] = &["Span", "Ident"];
 
+pub fn under_name(name: &str) -> Ident {
+    Ident::new(&name.to_snake_case(), Span::call_site())
+}
+
 pub fn traverse<S, F>(defs: &types::Definitions, node: F) -> S
 where
     S: Default,