Index: src/GenPoly/GenPoly.cc
===================================================================
--- src/GenPoly/GenPoly.cc	(revision 5a3ac848c64ea57337a51b1cff756fb8e593d201)
+++ src/GenPoly/GenPoly.cc	(revision 08fc48f4a5c70b7f3e402da3afef2763f754ff3a)
@@ -15,16 +15,20 @@
 
 #include "GenPoly.h"
-#include "assert.h"
-
-#include "SynTree/Expression.h"
-#include "SynTree/Type.h"
-#include "ResolvExpr/typeops.h"
-
-#include <iostream>
-#include <iterator>
-#include <list>
-#include <typeindex>
-#include <typeinfo>
-#include <vector>
+
+#include <cassert>                      // for assertf, assert
+#include <iostream>                     // for operator<<, ostream, basic_os...
+#include <iterator>                     // for back_insert_iterator, back_in...
+#include <list>                         // for list, _List_iterator, list<>:...
+#include <typeindex>                    // for type_index
+#include <utility>                      // for pair
+#include <vector>                       // for vector
+
+#include "GenPoly/ErasableScopedMap.h"  // for ErasableScopedMap<>::const_it...
+#include "ResolvExpr/typeops.h"         // for flatten
+#include "SynTree/Constant.h"           // for Constant
+#include "SynTree/Expression.h"         // for Expression, TypeExpr, Constan...
+#include "SynTree/Type.h"               // for Type, StructInstType, UnionIn...
+#include "SynTree/TypeSubstitution.h"   // for TypeSubstitution
+
 using namespace std;
 
