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..3601cbc2 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 82e0de1f..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 1a21feadb..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 {}
 };
