Index: src/Virtual/ExpandCasts.cc
===================================================================
--- src/Virtual/ExpandCasts.cc	(revision cbce2727f642c2a177c82c045248ba1923699527)
+++ src/Virtual/ExpandCasts.cc	(revision 08fc48f4a5c70b7f3e402da3afef2763f754ff3a)
@@ -15,5 +15,18 @@
 
 #include "ExpandCasts.h"
-#include "Common/PassVisitor.h"
+
+#include <cassert>                 // for assert, assertf
+#include <iterator>                // for back_inserter, inserter
+#include <map>                     // for map, _Rb_tree_iterator, map<>::ite...
+#include <string>                  // for string, allocator, operator==, ope...
+#include <utility>                 // for pair
+
+#include "Common/PassVisitor.h"    // for PassVisitor
+#include "Common/SemanticError.h"  // for SemanticError
+#include "SynTree/Declaration.h"   // for ObjectDecl, StructDecl, FunctionDecl
+#include "SynTree/Expression.h"    // for VirtualCastExpr, CastExpr, Address...
+#include "SynTree/Mutator.h"       // for mutateAll
+#include "SynTree/Type.h"          // for Type, PointerType, StructInstType
+#include "SynTree/Visitor.h"       // for acceptAll
 
 namespace Virtual {
Index: src/Virtual/ExpandCasts.h
===================================================================
--- src/Virtual/ExpandCasts.h	(revision cbce2727f642c2a177c82c045248ba1923699527)
+++ src/Virtual/ExpandCasts.h	(revision 08fc48f4a5c70b7f3e402da3afef2763f754ff3a)
@@ -16,6 +16,7 @@
 #pragma once
 
-#include <list>
-#include "SynTree/SynTree.h"
+#include <list>  // for list
+
+class Declaration;
 
 namespace Virtual {
