diff --git a/BUILD.gn b/BUILD.gn
index 18beefc..a5b3291 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -258,8 +258,6 @@
     "src/ast/call_statement.h",
     "src/ast/case_statement.cc",
     "src/ast/case_statement.h",
-    "src/ast/clone_context.cc",
-    "src/ast/clone_context.h",
     "src/ast/constant_id_decoration.cc",
     "src/ast/constant_id_decoration.h",
     "src/ast/constructor_expression.cc",
@@ -336,7 +334,6 @@
     "src/ast/struct_member_offset_decoration.h",
     "src/ast/switch_statement.cc",
     "src/ast/switch_statement.h",
-    "src/ast/traits.h",
     "src/ast/type_constructor_expression.cc",
     "src/ast/type_constructor_expression.h",
     "src/ast/type_decoration.cc",
@@ -358,6 +355,8 @@
     "src/block_allocator.h",
     "src/castable.cc",
     "src/castable.h",
+    "src/clone_context.cc",
+    "src/clone_context.h",
     "src/demangler.cc",
     "src/demangler.h",
     "src/diagnostic/diagnostic.cc",
@@ -383,6 +382,7 @@
     "src/symbol.h",
     "src/symbol_table.cc",
     "src/symbol_table.h",
+    "src/traits.h",
     "src/transform/bound_array_accessors.cc",
     "src/transform/bound_array_accessors.h",
     "src/transform/emit_vertex_point_size.cc",
@@ -771,7 +771,6 @@
     "src/ast/call_expression_test.cc",
     "src/ast/call_statement_test.cc",
     "src/ast/case_statement_test.cc",
-    "src/ast/clone_context_test.cc",
     "src/ast/constant_id_decoration_test.cc",
     "src/ast/continue_statement_test.cc",
     "src/ast/decoration_test.cc",
@@ -803,7 +802,6 @@
     "src/ast/struct_test.cc",
     "src/ast/switch_statement_test.cc",
     "src/ast/test_helper.h",
-    "src/ast/traits_test.cc",
     "src/ast/type_constructor_expression_test.cc",
     "src/ast/uint_literal_test.cc",
     "src/ast/unary_op_expression_test.cc",
@@ -812,6 +810,7 @@
     "src/ast/workgroup_decoration_test.cc",
     "src/block_allocator_test.cc",
     "src/castable_test.cc",
+    "src/clone_context_test.cc",
     "src/demangler_test.cc",
     "src/diagnostic/formatter_test.cc",
     "src/diagnostic/printer_test.cc",
@@ -820,6 +819,7 @@
     "src/scope_stack_test.cc",
     "src/symbol_table_test.cc",
     "src/symbol_test.cc",
+    "src/traits_test.cc",
     "src/transform/bound_array_accessors_test.cc",
     "src/transform/emit_vertex_point_size_test.cc",
     "src/transform/first_index_offset_test.cc",
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b7c4fa5..c3aa242 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -72,8 +72,6 @@
   ast/call_statement.h
   ast/case_statement.cc
   ast/case_statement.h
-  ast/clone_context.cc
-  ast/clone_context.h
   ast/constant_id_decoration.cc
   ast/constant_id_decoration.h
   ast/constructor_expression.cc
@@ -150,7 +148,6 @@
   ast/struct_member_offset_decoration.h
   ast/switch_statement.cc
   ast/switch_statement.h
-  ast/traits.h
   ast/type_constructor_expression.cc
   ast/type_constructor_expression.h
   ast/type_decoration.cc
@@ -172,6 +169,8 @@
   block_allocator.h
   castable.cc
   castable.h
+  clone_context.cc
+  clone_context.h
   demangler.cc
   demangler.h;
   diagnostic/diagnostic.cc
@@ -197,6 +196,7 @@
   symbol.h
   symbol_table.cc
   symbol_table.h
+  traits.h
   transform/emit_vertex_point_size.cc
   transform/emit_vertex_point_size.h
   transform/bound_array_accessors.cc
@@ -401,7 +401,6 @@
     ast/call_expression_test.cc
     ast/call_statement_test.cc
     ast/case_statement_test.cc
-    ast/clone_context_test.cc
     ast/constant_id_decoration_test.cc
     ast/continue_statement_test.cc
     ast/decoration_test.cc
@@ -433,7 +432,6 @@
     ast/struct_test.cc
     ast/switch_statement_test.cc
     ast/test_helper.h
-    ast/traits_test.cc
     ast/type_constructor_expression_test.cc
     ast/uint_literal_test.cc
     ast/unary_op_expression_test.cc
@@ -442,6 +440,7 @@
     ast/workgroup_decoration_test.cc
     block_allocator_test.cc
     castable_test.cc
+    clone_context_test.cc
     demangler_test.cc
     diagnostic/formatter_test.cc
     diagnostic/printer_test.cc
@@ -450,6 +449,7 @@
     scope_stack_test.cc
     symbol_table_test.cc
     symbol_test.cc
+    traits_test.cc
     type_determiner_test.cc
     type/access_control_type_test.cc
     type/alias_type_test.cc
diff --git a/src/ast/access_decoration.cc b/src/ast/access_decoration.cc
index 2346357..50d35a9 100644
--- a/src/ast/access_decoration.cc
+++ b/src/ast/access_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/access_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::AccessDecoration);
 
diff --git a/src/ast/array_accessor_expression.cc b/src/ast/array_accessor_expression.cc
index 82cfd2b..7fd6d2e 100644
--- a/src/ast/array_accessor_expression.cc
+++ b/src/ast/array_accessor_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/array_accessor_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ArrayAccessorExpression);
 
diff --git a/src/ast/assignment_statement.cc b/src/ast/assignment_statement.cc
index 4561263..896b206 100644
--- a/src/ast/assignment_statement.cc
+++ b/src/ast/assignment_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/assignment_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::AssignmentStatement);
 
diff --git a/src/ast/binary_expression.cc b/src/ast/binary_expression.cc
index e8566fd..8851a62 100644
--- a/src/ast/binary_expression.cc
+++ b/src/ast/binary_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/binary_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BinaryExpression);
 
diff --git a/src/ast/binding_decoration.cc b/src/ast/binding_decoration.cc
index 13d48d7..febb264 100644
--- a/src/ast/binding_decoration.cc
+++ b/src/ast/binding_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/binding_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BindingDecoration);
 
diff --git a/src/ast/bitcast_expression.cc b/src/ast/bitcast_expression.cc
index 4dc5eb3..be772ba 100644
--- a/src/ast/bitcast_expression.cc
+++ b/src/ast/bitcast_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/bitcast_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BitcastExpression);
 
diff --git a/src/ast/block_statement.cc b/src/ast/block_statement.cc
index cbaa0a6..a9efd64 100644
--- a/src/ast/block_statement.cc
+++ b/src/ast/block_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/block_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BlockStatement);
 
diff --git a/src/ast/bool_literal.cc b/src/ast/bool_literal.cc
index c21d87f..43b5281 100644
--- a/src/ast/bool_literal.cc
+++ b/src/ast/bool_literal.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/bool_literal.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BoolLiteral);
 
diff --git a/src/ast/break_statement.cc b/src/ast/break_statement.cc
index eba613e..4951304 100644
--- a/src/ast/break_statement.cc
+++ b/src/ast/break_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/break_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BreakStatement);
 
diff --git a/src/ast/builtin_decoration.cc b/src/ast/builtin_decoration.cc
index d7abdbe..ffeb76b 100644
--- a/src/ast/builtin_decoration.cc
+++ b/src/ast/builtin_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/builtin_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::BuiltinDecoration);
 
diff --git a/src/ast/call_expression.cc b/src/ast/call_expression.cc
index 5a45fdf..ce33267 100644
--- a/src/ast/call_expression.cc
+++ b/src/ast/call_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/call_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::CallExpression);
 
diff --git a/src/ast/call_statement.cc b/src/ast/call_statement.cc
index 43670f7..7e0c5e9 100644
--- a/src/ast/call_statement.cc
+++ b/src/ast/call_statement.cc
@@ -15,8 +15,8 @@
 #include "src/ast/call_statement.h"
 
 #include "src/ast/call_expression.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::CallStatement);
 
diff --git a/src/ast/case_statement.cc b/src/ast/case_statement.cc
index 181a263..7ad253d 100644
--- a/src/ast/case_statement.cc
+++ b/src/ast/case_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/case_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::CaseStatement);
 
diff --git a/src/ast/constant_id_decoration.cc b/src/ast/constant_id_decoration.cc
index 840a30d..5dc4156 100644
--- a/src/ast/constant_id_decoration.cc
+++ b/src/ast/constant_id_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/constant_id_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ConstantIdDecoration);
 
diff --git a/src/ast/continue_statement.cc b/src/ast/continue_statement.cc
index 4d1597b..00b8f81 100644
--- a/src/ast/continue_statement.cc
+++ b/src/ast/continue_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/continue_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ContinueStatement);
 
diff --git a/src/ast/discard_statement.cc b/src/ast/discard_statement.cc
index cab164c..01a364f 100644
--- a/src/ast/discard_statement.cc
+++ b/src/ast/discard_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/discard_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::DiscardStatement);
 
diff --git a/src/ast/else_statement.cc b/src/ast/else_statement.cc
index 6a1a014..7b44308 100644
--- a/src/ast/else_statement.cc
+++ b/src/ast/else_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/else_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ElseStatement);
 
diff --git a/src/ast/fallthrough_statement.cc b/src/ast/fallthrough_statement.cc
index db51488..46bb30f 100644
--- a/src/ast/fallthrough_statement.cc
+++ b/src/ast/fallthrough_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/fallthrough_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::FallthroughStatement);
 
diff --git a/src/ast/float_literal.cc b/src/ast/float_literal.cc
index 5ce4347..b715407 100644
--- a/src/ast/float_literal.cc
+++ b/src/ast/float_literal.cc
@@ -17,8 +17,8 @@
 #include <limits>
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::FloatLiteral);
 
diff --git a/src/ast/function.cc b/src/ast/function.cc
index 47863ca..88b5b96 100644
--- a/src/ast/function.cc
+++ b/src/ast/function.cc
@@ -16,11 +16,11 @@
 
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
 #include "src/ast/stage_decoration.h"
 #include "src/ast/variable.h"
 #include "src/ast/workgroup_decoration.h"
+#include "src/clone_context.h"
 #include "src/type/multisampled_texture_type.h"
 #include "src/type/sampled_texture_type.h"
 #include "src/type/texture_type.h"
diff --git a/src/ast/group_decoration.cc b/src/ast/group_decoration.cc
index 3bbd372..c60ec48 100644
--- a/src/ast/group_decoration.cc
+++ b/src/ast/group_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/group_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::GroupDecoration);
 
diff --git a/src/ast/identifier_expression.cc b/src/ast/identifier_expression.cc
index 9d6bafe..cd79099 100644
--- a/src/ast/identifier_expression.cc
+++ b/src/ast/identifier_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/identifier_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::IdentifierExpression);
 
diff --git a/src/ast/if_statement.cc b/src/ast/if_statement.cc
index aac56a8..0c3fcc5 100644
--- a/src/ast/if_statement.cc
+++ b/src/ast/if_statement.cc
@@ -14,9 +14,9 @@
 
 #include "src/ast/if_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/else_statement.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::IfStatement);
 
diff --git a/src/ast/location_decoration.cc b/src/ast/location_decoration.cc
index db28f0a..e660e13 100644
--- a/src/ast/location_decoration.cc
+++ b/src/ast/location_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/location_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::LocationDecoration);
 
diff --git a/src/ast/loop_statement.cc b/src/ast/loop_statement.cc
index 9549cc0..e58476f 100644
--- a/src/ast/loop_statement.cc
+++ b/src/ast/loop_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/loop_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::LoopStatement);
 
diff --git a/src/ast/member_accessor_expression.cc b/src/ast/member_accessor_expression.cc
index 6b60b35..a75df00 100644
--- a/src/ast/member_accessor_expression.cc
+++ b/src/ast/member_accessor_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/member_accessor_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::MemberAccessorExpression);
 
diff --git a/src/ast/module.cc b/src/ast/module.cc
index 3561263..e439a8d 100644
--- a/src/ast/module.cc
+++ b/src/ast/module.cc
@@ -16,7 +16,7 @@
 
 #include <sstream>
 
-#include "src/ast/clone_context.h"
+#include "src/clone_context.h"
 #include "src/type/struct_type.h"
 
 namespace tint {
diff --git a/src/ast/module.h b/src/ast/module.h
index 76ed92e..59858f9 100644
--- a/src/ast/module.h
+++ b/src/ast/module.h
@@ -24,10 +24,10 @@
 #include <vector>
 
 #include "src/ast/function.h"
-#include "src/ast/traits.h"
 #include "src/ast/variable.h"
 #include "src/block_allocator.h"
 #include "src/symbol_table.h"
+#include "src/traits.h"
 #include "src/type/alias_type.h"
 #include "src/type/type_manager.h"
 
diff --git a/src/ast/node.h b/src/ast/node.h
index 87e2ee9..924ffd1 100644
--- a/src/ast/node.h
+++ b/src/ast/node.h
@@ -23,13 +23,16 @@
 #include "src/source.h"
 
 namespace tint {
+
+// Forward declarations
+class CloneContext;
 namespace type {
 class Type;
 }
+
 namespace ast {
 
 class Module;
-class CloneContext;
 
 /// AST base class node
 class Node : public Castable<Node> {
diff --git a/src/ast/null_literal.cc b/src/ast/null_literal.cc
index 9b654a3..61f4cf5 100644
--- a/src/ast/null_literal.cc
+++ b/src/ast/null_literal.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/null_literal.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::NullLiteral);
 
diff --git a/src/ast/return_statement.cc b/src/ast/return_statement.cc
index 93f9b4f..94eb8c8 100644
--- a/src/ast/return_statement.cc
+++ b/src/ast/return_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/return_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ReturnStatement);
 
diff --git a/src/ast/scalar_constructor_expression.cc b/src/ast/scalar_constructor_expression.cc
index 7a1e5ff..ed26446 100644
--- a/src/ast/scalar_constructor_expression.cc
+++ b/src/ast/scalar_constructor_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/scalar_constructor_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::ScalarConstructorExpression);
 
diff --git a/src/ast/sint_literal.cc b/src/ast/sint_literal.cc
index 52b8b0e..3b1aa0b 100644
--- a/src/ast/sint_literal.cc
+++ b/src/ast/sint_literal.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/sint_literal.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::SintLiteral);
 
diff --git a/src/ast/stage_decoration.cc b/src/ast/stage_decoration.cc
index 50525f3..786e86e 100644
--- a/src/ast/stage_decoration.cc
+++ b/src/ast/stage_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/stage_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::StageDecoration);
 
diff --git a/src/ast/stride_decoration.cc b/src/ast/stride_decoration.cc
index 9e42cd7..9d86e29 100644
--- a/src/ast/stride_decoration.cc
+++ b/src/ast/stride_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/stride_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::StrideDecoration);
 
diff --git a/src/ast/struct.cc b/src/ast/struct.cc
index 1cf1c38..146a9ef 100644
--- a/src/ast/struct.cc
+++ b/src/ast/struct.cc
@@ -14,9 +14,9 @@
 
 #include "src/ast/struct.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
 #include "src/ast/struct_block_decoration.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::Struct);
 
diff --git a/src/ast/struct_block_decoration.cc b/src/ast/struct_block_decoration.cc
index 58f18bd..4dab8c1 100644
--- a/src/ast/struct_block_decoration.cc
+++ b/src/ast/struct_block_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/struct_block_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::StructBlockDecoration);
 
diff --git a/src/ast/struct_member.cc b/src/ast/struct_member.cc
index a387cc0..aa64980 100644
--- a/src/ast/struct_member.cc
+++ b/src/ast/struct_member.cc
@@ -14,9 +14,9 @@
 
 #include "src/ast/struct_member.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
 #include "src/ast/struct_member_offset_decoration.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::StructMember);
 
diff --git a/src/ast/struct_member_offset_decoration.cc b/src/ast/struct_member_offset_decoration.cc
index 4c3af19..16608a7 100644
--- a/src/ast/struct_member_offset_decoration.cc
+++ b/src/ast/struct_member_offset_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/struct_member_offset_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::StructMemberOffsetDecoration);
 
diff --git a/src/ast/switch_statement.cc b/src/ast/switch_statement.cc
index 51cc0bf..a542548 100644
--- a/src/ast/switch_statement.cc
+++ b/src/ast/switch_statement.cc
@@ -15,8 +15,8 @@
 #include "src/ast/switch_statement.h"
 
 #include "src/ast/case_statement.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::SwitchStatement);
 
diff --git a/src/ast/type_constructor_expression.cc b/src/ast/type_constructor_expression.cc
index e704de0..75f336d 100644
--- a/src/ast/type_constructor_expression.cc
+++ b/src/ast/type_constructor_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/type_constructor_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::TypeConstructorExpression);
 
diff --git a/src/ast/uint_literal.cc b/src/ast/uint_literal.cc
index c30a608..84d18de 100644
--- a/src/ast/uint_literal.cc
+++ b/src/ast/uint_literal.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/uint_literal.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::UintLiteral);
 
diff --git a/src/ast/unary_op_expression.cc b/src/ast/unary_op_expression.cc
index a472ff9..79042ad 100644
--- a/src/ast/unary_op_expression.cc
+++ b/src/ast/unary_op_expression.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/unary_op_expression.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::UnaryOpExpression);
 
diff --git a/src/ast/variable.cc b/src/ast/variable.cc
index e053ffd..0d5c3e5 100644
--- a/src/ast/variable.cc
+++ b/src/ast/variable.cc
@@ -16,9 +16,9 @@
 
 #include <assert.h>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/constant_id_decoration.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::Variable);
 
diff --git a/src/ast/variable_decl_statement.cc b/src/ast/variable_decl_statement.cc
index f5eb50f..b9d9986 100644
--- a/src/ast/variable_decl_statement.cc
+++ b/src/ast/variable_decl_statement.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/variable_decl_statement.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::VariableDeclStatement);
 
diff --git a/src/ast/workgroup_decoration.cc b/src/ast/workgroup_decoration.cc
index 1e0e5d0..1c82475 100644
--- a/src/ast/workgroup_decoration.cc
+++ b/src/ast/workgroup_decoration.cc
@@ -14,8 +14,8 @@
 
 #include "src/ast/workgroup_decoration.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::ast::WorkgroupDecoration);
 
diff --git a/src/ast/clone_context.cc b/src/clone_context.cc
similarity index 87%
rename from src/ast/clone_context.cc
rename to src/clone_context.cc
index fe9e849..2244411 100644
--- a/src/ast/clone_context.cc
+++ b/src/clone_context.cc
@@ -12,14 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "src/ast/clone_context.h"
+#include "src/clone_context.h"
 
 #include "src/ast/module.h"
 
 namespace tint {
-namespace ast {
 
-CloneContext::CloneContext(Module* to, Module const* from)
+CloneContext::CloneContext(ast::Module* to, ast::Module const* from)
     : mod(to), src(from) {}
 CloneContext::~CloneContext() = default;
 
@@ -31,5 +30,4 @@
   src->Clone(this);
 }
 
-}  // namespace ast
 }  // namespace tint
diff --git a/src/ast/clone_context.h b/src/clone_context.h
similarity index 95%
rename from src/ast/clone_context.h
rename to src/clone_context.h
index 64a7b11..103127c 100644
--- a/src/ast/clone_context.h
+++ b/src/clone_context.h
@@ -12,22 +12,24 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#ifndef SRC_AST_CLONE_CONTEXT_H_
-#define SRC_AST_CLONE_CONTEXT_H_
+#ifndef SRC_CLONE_CONTEXT_H_
+#define SRC_CLONE_CONTEXT_H_
 
 #include <functional>
 #include <unordered_map>
 #include <vector>
 
-#include "src/ast/traits.h"
 #include "src/castable.h"
 #include "src/source.h"
 #include "src/symbol.h"
+#include "src/traits.h"
 
 namespace tint {
-namespace ast {
 
+// Forward declarations
+namespace ast {
 class Module;
+}  // namespace ast
 
 /// CloneContext holds the state used while cloning AST nodes and types.
 class CloneContext {
@@ -35,7 +37,7 @@
   /// Constructor
   /// @param to the target module to clone into
   /// @param from the source module to clone from
-  CloneContext(Module* to, Module const* from);
+  CloneContext(ast::Module* to, ast::Module const* from);
 
   /// Destructor
   ~CloneContext();
@@ -149,10 +151,10 @@
   void Clone();
 
   /// The target module to clone into.
-  Module* const mod;
+  ast::Module* const mod;
 
   /// The source module to clone from.
-  Module const* const src;
+  ast::Module const* const src;
 
  private:
   using Transform = std::function<CastableBase*(CastableBase*)>;
@@ -187,7 +189,6 @@
   std::vector<Transform> transforms_;
 };
 
-}  // namespace ast
 }  // namespace tint
 
-#endif  // SRC_AST_CLONE_CONTEXT_H_
+#endif  // SRC_CLONE_CONTEXT_H_
diff --git a/src/ast/clone_context_test.cc b/src/clone_context_test.cc
similarity index 95%
rename from src/ast/clone_context_test.cc
rename to src/clone_context_test.cc
index d8890a2..a3718a3 100644
--- a/src/ast/clone_context_test.cc
+++ b/src/clone_context_test.cc
@@ -12,17 +12,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "src/ast/clone_context.h"
+#include "src/clone_context.h"
 
 #include "gtest/gtest.h"
 
 #include "src/ast/module.h"
 
 namespace tint {
-namespace ast {
 namespace {
 
-struct Cloneable : public Castable<Cloneable, Node> {
+struct Cloneable : public Castable<Cloneable, ast::Node> {
   Cloneable() : Base(Source{}) {}
 
   Cloneable* a = nullptr;
@@ -162,10 +161,9 @@
 }
 
 }  // namespace
-}  // namespace ast
 
-TINT_INSTANTIATE_CLASS_ID(ast::Cloneable);
-TINT_INSTANTIATE_CLASS_ID(ast::Replaceable);
-TINT_INSTANTIATE_CLASS_ID(ast::Replacement);
+TINT_INSTANTIATE_CLASS_ID(Cloneable);
+TINT_INSTANTIATE_CLASS_ID(Replaceable);
+TINT_INSTANTIATE_CLASS_ID(Replacement);
 
 }  // namespace tint
diff --git a/src/reader/spirv/function.cc b/src/reader/spirv/function.cc
index a18127f..00d7545 100644
--- a/src/reader/spirv/function.cc
+++ b/src/reader/spirv/function.cc
@@ -705,7 +705,7 @@
 bool StatementBuilder::IsValid() const {
   return true;
 }
-ast::Node* StatementBuilder::Clone(ast::CloneContext*) const {
+ast::Node* StatementBuilder::Clone(CloneContext*) const {
   return nullptr;
 }
 void StatementBuilder::to_str(std::ostream& out, size_t indent) const {
diff --git a/src/reader/spirv/function.h b/src/reader/spirv/function.h
index 6ea6e36..b2206fd 100644
--- a/src/reader/spirv/function.h
+++ b/src/reader/spirv/function.h
@@ -350,7 +350,7 @@
 
  private:
   bool IsValid() const override;
-  Node* Clone(ast::CloneContext*) const override;
+  Node* Clone(CloneContext*) const override;
   void to_str(std::ostream& out, size_t indent) const override;
 };
 
diff --git a/src/ast/traits.h b/src/traits.h
similarity index 95%
rename from src/ast/traits.h
rename to src/traits.h
index 7e27036..3601cbc 100644
--- a/src/ast/traits.h
+++ b/src/traits.h
@@ -12,14 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#ifndef SRC_AST_TRAITS_H_
-#define SRC_AST_TRAITS_H_
+#ifndef SRC_TRAITS_H_
+#define SRC_TRAITS_H_
 
 #include <tuple>
 #include <type_traits>
 
 namespace tint {
-namespace ast {
 namespace traits {
 
 /// NthTypeOf returns the `N`th type in `Types`
@@ -72,7 +71,6 @@
     typename std::enable_if<std::is_base_of<BASE, T>::value, T>::type;
 
 }  // namespace traits
-}  // namespace ast
 }  // namespace tint
 
-#endif  // SRC_AST_TRAITS_H_
+#endif  // SRC_TRAITS_H_
diff --git a/src/ast/traits_test.cc b/src/traits_test.cc
similarity index 97%
rename from src/ast/traits_test.cc
rename to src/traits_test.cc
index 6621827..8ce565c 100644
--- a/src/ast/traits_test.cc
+++ b/src/traits_test.cc
@@ -12,14 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "src/ast/traits.h"
+#include "src/traits.h"
 
 #include <functional>
 
 #include "gtest/gtest.h"
 
 namespace tint {
-namespace ast {
 namespace traits {
 
 namespace {
@@ -101,5 +100,4 @@
 }
 
 }  // namespace traits
-}  // namespace ast
 }  // namespace tint
diff --git a/src/transform/bound_array_accessors.cc b/src/transform/bound_array_accessors.cc
index bdfb938..0c2c290 100644
--- a/src/transform/bound_array_accessors.cc
+++ b/src/transform/bound_array_accessors.cc
@@ -27,7 +27,6 @@
 #include "src/ast/call_expression.h"
 #include "src/ast/call_statement.h"
 #include "src/ast/case_statement.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/continue_statement.h"
 #include "src/ast/discard_statement.h"
 #include "src/ast/else_statement.h"
@@ -44,6 +43,7 @@
 #include "src/ast/unary_op_expression.h"
 #include "src/ast/variable.h"
 #include "src/ast/variable_decl_statement.h"
+#include "src/clone_context.h"
 #include "src/type/array_type.h"
 #include "src/type/matrix_type.h"
 #include "src/type/u32_type.h"
@@ -57,18 +57,17 @@
 
 Transform::Output BoundArrayAccessors::Run(ast::Module* in) {
   Output out;
-  ast::CloneContext(&out.module, in)
-      .ReplaceAll(
-          [&](ast::CloneContext* ctx, ast::ArrayAccessorExpression* expr) {
-            return Transform(expr, ctx, &out.diagnostics);
-          })
+  CloneContext(&out.module, in)
+      .ReplaceAll([&](CloneContext* ctx, ast::ArrayAccessorExpression* expr) {
+        return Transform(expr, ctx, &out.diagnostics);
+      })
       .Clone();
   return out;
 }
 
 ast::ArrayAccessorExpression* BoundArrayAccessors::Transform(
     ast::ArrayAccessorExpression* expr,
-    ast::CloneContext* ctx,
+    CloneContext* ctx,
     diag::List* diags) {
   auto* ret_type = expr->array()->result_type()->UnwrapAll();
   if (!ret_type->Is<type::Array>() && !ret_type->Is<type::Matrix>() &&
diff --git a/src/transform/bound_array_accessors.h b/src/transform/bound_array_accessors.h
index bfb7546..0d78df1 100644
--- a/src/transform/bound_array_accessors.h
+++ b/src/transform/bound_array_accessors.h
@@ -48,7 +48,7 @@
 
  private:
   ast::ArrayAccessorExpression* Transform(ast::ArrayAccessorExpression* expr,
-                                          ast::CloneContext* ctx,
+                                          CloneContext* ctx,
                                           diag::List* diags);
 };
 
diff --git a/src/transform/emit_vertex_point_size.cc b/src/transform/emit_vertex_point_size.cc
index a46a958..dd2acf0 100644
--- a/src/transform/emit_vertex_point_size.cc
+++ b/src/transform/emit_vertex_point_size.cc
@@ -19,11 +19,11 @@
 
 #include "src/ast/assignment_statement.h"
 #include "src/ast/block_statement.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/float_literal.h"
 #include "src/ast/identifier_expression.h"
 #include "src/ast/scalar_constructor_expression.h"
 #include "src/ast/variable.h"
+#include "src/clone_context.h"
 #include "src/type/f32_type.h"
 #include "src/type/type_manager.h"
 
@@ -73,9 +73,9 @@
       Source{}, pointsize_ident, one);
 
   // Add the pointsize assignment statement to the front of all vertex stages.
-  ast::CloneContext(&out.module, in)
+  CloneContext(&out.module, in)
       .ReplaceAll(
-          [&](ast::CloneContext* ctx, ast::Function* func) -> ast::Function* {
+          [&](CloneContext* ctx, ast::Function* func) -> ast::Function* {
             if (func->pipeline_stage() != ast::PipelineStage::kVertex) {
               return nullptr;  // Just clone func
             }
diff --git a/src/transform/first_index_offset.cc b/src/transform/first_index_offset.cc
index df878ac..2d74c11 100644
--- a/src/transform/first_index_offset.cc
+++ b/src/transform/first_index_offset.cc
@@ -25,7 +25,6 @@
 #include "src/ast/builtin_decoration.h"
 #include "src/ast/call_statement.h"
 #include "src/ast/case_statement.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/constructor_expression.h"
 #include "src/ast/else_statement.h"
 #include "src/ast/expression.h"
@@ -47,6 +46,7 @@
 #include "src/ast/variable.h"
 #include "src/ast/variable_decl_statement.h"
 #include "src/ast/variable_decoration.h"
+#include "src/clone_context.h"
 #include "src/type/struct_type.h"
 #include "src/type/u32_type.h"
 #include "src/type_determiner.h"
@@ -61,7 +61,7 @@
 constexpr char kFirstInstanceName[] = "tint_first_instance_index";
 constexpr char kIndexOffsetPrefix[] = "tint_first_index_offset_";
 
-ast::Variable* clone_variable_with_new_name(ast::CloneContext* ctx,
+ast::Variable* clone_variable_with_new_name(CloneContext* ctx,
                                             ast::Variable* in,
                                             std::string new_name) {
   return ctx->mod->create<ast::Variable>(
@@ -126,33 +126,32 @@
   // these builtins.
 
   Output out;
-  ast::CloneContext(&out.module, in)
-      .ReplaceAll(
-          [&](ast::CloneContext* ctx, ast::Variable* var) -> ast::Variable* {
-            for (ast::VariableDecoration* dec : var->decorations()) {
-              if (auto* blt_dec = dec->As<ast::BuiltinDecoration>()) {
-                ast::Builtin blt_type = blt_dec->value();
-                if (blt_type == ast::Builtin::kVertexIndex) {
-                  vertex_index_sym = var->symbol();
-                  has_vertex_index_ = true;
-                  return clone_variable_with_new_name(
-                      ctx, var,
-                      kIndexOffsetPrefix + in->SymbolToName(var->symbol()));
-                } else if (blt_type == ast::Builtin::kInstanceIndex) {
-                  instance_index_sym = var->symbol();
-                  has_instance_index_ = true;
-                  return clone_variable_with_new_name(
-                      ctx, var,
-                      kIndexOffsetPrefix + in->SymbolToName(var->symbol()));
-                }
-              }
+  CloneContext(&out.module, in)
+      .ReplaceAll([&](CloneContext* ctx, ast::Variable* var) -> ast::Variable* {
+        for (ast::VariableDecoration* dec : var->decorations()) {
+          if (auto* blt_dec = dec->As<ast::BuiltinDecoration>()) {
+            ast::Builtin blt_type = blt_dec->value();
+            if (blt_type == ast::Builtin::kVertexIndex) {
+              vertex_index_sym = var->symbol();
+              has_vertex_index_ = true;
+              return clone_variable_with_new_name(
+                  ctx, var,
+                  kIndexOffsetPrefix + in->SymbolToName(var->symbol()));
+            } else if (blt_type == ast::Builtin::kInstanceIndex) {
+              instance_index_sym = var->symbol();
+              has_instance_index_ = true;
+              return clone_variable_with_new_name(
+                  ctx, var,
+                  kIndexOffsetPrefix + in->SymbolToName(var->symbol()));
             }
-            return nullptr;  // Just clone var
-          })
+          }
+        }
+        return nullptr;  // Just clone var
+      })
       .ReplaceAll(  // Note: This happens in the same pass as the rename above
                     // which determines the original builtin variable names,
                     // but this should be fine, as variables are cloned first.
-          [&](ast::CloneContext* ctx, ast::Function* func) -> ast::Function* {
+          [&](CloneContext* ctx, ast::Function* func) -> ast::Function* {
             maybe_create_buffer_var(ctx->mod);
             if (buffer_var == nullptr) {
               return nullptr;  // no transform need, just clone func
diff --git a/src/transform/transform.cc b/src/transform/transform.cc
index 65fadb9..54766a7 100644
--- a/src/transform/transform.cc
+++ b/src/transform/transform.cc
@@ -15,8 +15,8 @@
 #include "src/transform/transform.h"
 
 #include "src/ast/block_statement.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/function.h"
+#include "src/clone_context.h"
 
 namespace tint {
 namespace transform {
@@ -25,7 +25,7 @@
 Transform::~Transform() = default;
 
 ast::Function* Transform::CloneWithStatementsAtStart(
-    ast::CloneContext* ctx,
+    CloneContext* ctx,
     ast::Function* in,
     ast::StatementList statements) {
   for (auto* s : *in->body()) {
diff --git a/src/transform/transform.h b/src/transform/transform.h
index 211be8a..4684a21 100644
--- a/src/transform/transform.h
+++ b/src/transform/transform.h
@@ -57,7 +57,7 @@
   /// @param statements the statements to prepend to `in`'s body
   /// @return the cloned function
   static ast::Function* CloneWithStatementsAtStart(
-      ast::CloneContext* ctx,
+      CloneContext* ctx,
       ast::Function* in,
       ast::StatementList statements);
 };
diff --git a/src/transform/vertex_pulling.cc b/src/transform/vertex_pulling.cc
index 24f6da6..104e80a 100644
--- a/src/transform/vertex_pulling.cc
+++ b/src/transform/vertex_pulling.cc
@@ -20,7 +20,6 @@
 #include "src/ast/assignment_statement.h"
 #include "src/ast/binary_expression.h"
 #include "src/ast/bitcast_expression.h"
-#include "src/ast/clone_context.h"
 #include "src/ast/member_accessor_expression.h"
 #include "src/ast/scalar_constructor_expression.h"
 #include "src/ast/stride_decoration.h"
@@ -33,6 +32,7 @@
 #include "src/ast/uint_literal.h"
 #include "src/ast/variable.h"
 #include "src/ast/variable_decl_statement.h"
+#include "src/clone_context.h"
 #include "src/type/array_type.h"
 #include "src/type/f32_type.h"
 #include "src/type/i32_type.h"
@@ -109,15 +109,14 @@
   state.ConvertVertexInputVariablesToPrivate();
   state.AddVertexStorageBuffers();
 
-  ast::CloneContext(&out.module, in)
-      .ReplaceAll(
-          [&](ast::CloneContext* ctx, ast::Function* f) -> ast::Function* {
-            if (f == func) {
-              return CloneWithStatementsAtStart(
-                  ctx, f, {state.CreateVertexPullingPreamble()});
-            }
-            return nullptr;  // Just clone func
-          })
+  CloneContext(&out.module, in)
+      .ReplaceAll([&](CloneContext* ctx, ast::Function* f) -> ast::Function* {
+        if (f == func) {
+          return CloneWithStatementsAtStart(
+              ctx, f, {state.CreateVertexPullingPreamble()});
+        }
+        return nullptr;  // Just clone func
+      })
       .Clone();
 
   return out;
diff --git a/src/type/access_control_type.cc b/src/type/access_control_type.cc
index 82e0de1..9f8a074 100644
--- a/src/type/access_control_type.cc
+++ b/src/type/access_control_type.cc
@@ -16,8 +16,8 @@
 
 #include <assert.h>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::AccessControl);
 
diff --git a/src/type/alias_type.cc b/src/type/alias_type.cc
index 1a21fea..0826e04 100644
--- a/src/type/alias_type.cc
+++ b/src/type/alias_type.cc
@@ -16,8 +16,8 @@
 
 #include <assert.h>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Alias);
 
diff --git a/src/type/array_type.cc b/src/type/array_type.cc
index 7793f03..d5604a8 100644
--- a/src/type/array_type.cc
+++ b/src/type/array_type.cc
@@ -17,9 +17,9 @@
 #include <cmath>
 #include <memory>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
 #include "src/ast/stride_decoration.h"
+#include "src/clone_context.h"
 #include "src/type/vector_type.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Array);
diff --git a/src/type/bool_type.cc b/src/type/bool_type.cc
index ead02f8..1949064 100644
--- a/src/type/bool_type.cc
+++ b/src/type/bool_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/bool_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Bool);
 
diff --git a/src/type/depth_texture_type.cc b/src/type/depth_texture_type.cc
index 770ced4..7b0eddf 100644
--- a/src/type/depth_texture_type.cc
+++ b/src/type/depth_texture_type.cc
@@ -17,8 +17,8 @@
 #include <cassert>
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::DepthTexture);
 
diff --git a/src/type/f32_type.cc b/src/type/f32_type.cc
index 4961187..40820a3 100644
--- a/src/type/f32_type.cc
+++ b/src/type/f32_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/f32_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::F32);
 
diff --git a/src/type/i32_type.cc b/src/type/i32_type.cc
index 29fee5e..947fe3c 100644
--- a/src/type/i32_type.cc
+++ b/src/type/i32_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/i32_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::I32);
 
diff --git a/src/type/matrix_type.cc b/src/type/matrix_type.cc
index f151654..6726cc8 100644
--- a/src/type/matrix_type.cc
+++ b/src/type/matrix_type.cc
@@ -16,8 +16,8 @@
 
 #include <assert.h>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 #include "src/type/array_type.h"
 #include "src/type/vector_type.h"
 
diff --git a/src/type/multisampled_texture_type.cc b/src/type/multisampled_texture_type.cc
index 16bb04e..cef1664 100644
--- a/src/type/multisampled_texture_type.cc
+++ b/src/type/multisampled_texture_type.cc
@@ -17,8 +17,8 @@
 #include <cassert>
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::MultisampledTexture);
 
diff --git a/src/type/pointer_type.cc b/src/type/pointer_type.cc
index 5077d33..a012152 100644
--- a/src/type/pointer_type.cc
+++ b/src/type/pointer_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/pointer_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Pointer);
 
diff --git a/src/type/sampled_texture_type.cc b/src/type/sampled_texture_type.cc
index 3d5d00a..f0cdf90 100644
--- a/src/type/sampled_texture_type.cc
+++ b/src/type/sampled_texture_type.cc
@@ -17,8 +17,8 @@
 #include <cassert>
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::SampledTexture);
 
diff --git a/src/type/sampler_type.cc b/src/type/sampler_type.cc
index d4b0ae7..310e80e 100644
--- a/src/type/sampler_type.cc
+++ b/src/type/sampler_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/sampler_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Sampler);
 
diff --git a/src/type/storage_texture_type.cc b/src/type/storage_texture_type.cc
index 1f175fd..7e55cad 100644
--- a/src/type/storage_texture_type.cc
+++ b/src/type/storage_texture_type.cc
@@ -17,8 +17,8 @@
 #include <cassert>
 #include <sstream>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::StorageTexture);
 
diff --git a/src/type/struct_type.cc b/src/type/struct_type.cc
index 39d65db..d6d4d3e 100644
--- a/src/type/struct_type.cc
+++ b/src/type/struct_type.cc
@@ -17,8 +17,8 @@
 #include <cmath>
 #include <utility>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 #include "src/type/alias_type.h"
 #include "src/type/array_type.h"
 #include "src/type/matrix_type.h"
diff --git a/src/type/type.h b/src/type/type.h
index adbd9a1..c55d10a 100644
--- a/src/type/type.h
+++ b/src/type/type.h
@@ -21,15 +21,14 @@
 
 namespace tint {
 
+// Forward declarations
+class CloneContext;
 namespace ast {
 class Module;
-class CloneContext;
 }  // namespace ast
 
 namespace type {
 
-using CloneContext = ast::CloneContext;  // TEMP
-
 /// Supported memory layouts for calculating sizes
 enum class MemoryLayout { kUniformBuffer, kStorageBuffer };
 
@@ -43,7 +42,7 @@
   /// Clones this type and all transitive types using the `CloneContext` `ctx`.
   /// @param ctx the clone context
   /// @return the newly cloned type
-  virtual Type* Clone(ast::CloneContext* ctx) const = 0;
+  virtual Type* Clone(CloneContext* ctx) const = 0;
 
   /// @returns the name for this type. The type name is unique over all types.
   virtual std::string type_name() const = 0;
diff --git a/src/type/u32_type.cc b/src/type/u32_type.cc
index fd87b36..e943505 100644
--- a/src/type/u32_type.cc
+++ b/src/type/u32_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/u32_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::U32);
 
diff --git a/src/type/vector_type.cc b/src/type/vector_type.cc
index b56273b..72c9f2a 100644
--- a/src/type/vector_type.cc
+++ b/src/type/vector_type.cc
@@ -17,8 +17,8 @@
 #include <assert.h>
 #include <cmath>
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Vector);
 
diff --git a/src/type/void_type.cc b/src/type/void_type.cc
index aa894a5..b6c4408 100644
--- a/src/type/void_type.cc
+++ b/src/type/void_type.cc
@@ -14,8 +14,8 @@
 
 #include "src/type/void_type.h"
 
-#include "src/ast/clone_context.h"
 #include "src/ast/module.h"
+#include "src/clone_context.h"
 
 TINT_INSTANTIATE_CLASS_ID(tint::type::Void);
 
diff --git a/src/type_determiner_test.cc b/src/type_determiner_test.cc
index 1436199..27a4379 100644
--- a/src/type_determiner_test.cc
+++ b/src/type_determiner_test.cc
@@ -74,7 +74,7 @@
 class FakeStmt : public ast::Statement {
  public:
   explicit FakeStmt(Source source) : ast::Statement(source) {}
-  FakeStmt* Clone(ast::CloneContext*) const override { return nullptr; }
+  FakeStmt* Clone(CloneContext*) const override { return nullptr; }
   bool IsValid() const override { return true; }
   void to_str(std::ostream& out, size_t) const override { out << "Fake"; }
 };
@@ -82,7 +82,7 @@
 class FakeExpr : public ast::Expression {
  public:
   explicit FakeExpr(Source source) : ast::Expression(source) {}
-  FakeExpr* Clone(ast::CloneContext*) const override { return nullptr; }
+  FakeExpr* Clone(CloneContext*) const override { return nullptr; }
   bool IsValid() const override { return true; }
   void to_str(std::ostream&, size_t) const override {}
 };
