Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision 307a732f5fa4b97b19f405fc215fcd76f473e3a1)
+++ src/SymTab/Indexer.cc	(revision c3acf0aa1a98c341d809549a8b1cdf752abbea06)
@@ -16,24 +16,23 @@
 #include "Indexer.h"
 
-#include <string>
-#include <typeinfo>
-#include <unordered_map>
-#include <unordered_set>
-#include <utility>
-#include <algorithm>
-
-#include "Mangler.h"
-
-#include "Common/utility.h"
-
-#include "ResolvExpr/typeops.h"
-
-#include "SynTree/Declaration.h"
-#include "SynTree/Type.h"
-#include "SynTree/Expression.h"
-#include "SynTree/Initializer.h"
-#include "SynTree/Statement.h"
-
-#include "InitTweak/InitTweak.h"
+#include <cassert>                 // for assert, safe_dynamic_cast
+#include <iostream>                // for operator<<, basic_ostream, ostream
+#include <string>                  // for string, operator<<, operator!=
+#include <unordered_map>           // for operator!=, unordered_map<>::const...
+#include <unordered_set>           // for unordered_set
+#include <utility>                 // for pair, make_pair, move
+
+#include "Common/SemanticError.h"  // for SemanticError
+#include "Common/utility.h"        // for cloneAll
+#include "InitTweak/InitTweak.h"   // for isConstructor, isCopyFunction, isC...
+#include "Mangler.h"               // for Mangler
+#include "Parser/LinkageSpec.h"    // for isMangled, isOverridable, Spec
+#include "ResolvExpr/typeops.h"    // for typesCompatible
+#include "SynTree/Constant.h"      // for Constant
+#include "SynTree/Declaration.h"   // for DeclarationWithType, FunctionDecl
+#include "SynTree/Expression.h"    // for Expression, ImplicitCopyCtorExpr
+#include "SynTree/Initializer.h"   // for Initializer
+#include "SynTree/Statement.h"     // for CompoundStmt, Statement, ForStmt (...
+#include "SynTree/Type.h"          // for Type, StructInstType, UnionInstType
 
 #define debugPrint(x) if ( doDebug ) { std::cout << x; }
