Index: src/GenPoly/Box.cc
===================================================================
--- src/GenPoly/Box.cc	(revision cccc5343be3778f0211640c87d33b28512f4fcce)
+++ src/GenPoly/Box.cc	(revision 2bf9c37a121444757e12034a6a8371e9a5c1f075)
@@ -141,4 +141,5 @@
 			virtual StructDecl *mutate( StructDecl *structDecl ) override;
 			virtual UnionDecl *mutate( UnionDecl *unionDecl ) override;
+			virtual TraitDecl *mutate( TraitDecl *unionDecl ) override;
 			virtual TypeDecl *mutate( TypeDecl *typeDecl ) override;
 			virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ) override;
@@ -216,5 +217,4 @@
 		  private:
 		};
-
 	} // anonymous namespace
 
@@ -1351,4 +1351,8 @@
 		}
 
+		TraitDecl * Pass2::mutate( TraitDecl *aggDecl ) {
+			return handleAggDecl( aggDecl );
+		}
+
 		TypeDecl * Pass2::mutate( TypeDecl *typeDecl ) {
 			addToTyVarMap( typeDecl, scopeTyVars );
@@ -1376,4 +1380,5 @@
 		Type *Pass2::mutate( FunctionType *funcType ) {
 			scopeTyVars.beginScope();
+
 			makeTyVarMap( funcType, scopeTyVars );
 
Index: src/GenPoly/GenPoly.cc
===================================================================
--- src/GenPoly/GenPoly.cc	(revision cccc5343be3778f0211640c87d33b28512f4fcce)
+++ src/GenPoly/GenPoly.cc	(revision 2bf9c37a121444757e12034a6a8371e9a5c1f075)
@@ -433,4 +433,5 @@
 
 	void addToTyVarMap( TypeDecl * tyVar, TyVarMap &tyVarMap ) {
+		// xxx - should this actually be insert?
 		tyVarMap[ tyVar->get_name() ] = TypeDecl::Data{ tyVar };
 	}
