diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -1752,6 +1752,7 @@
 #include <__algorithm/copy.h>
 #include <__algorithm/copy_backward.h>
 #include <__algorithm/copy_if.h>
+#include <__algorithm/copy_move_common.h>
 #include <__algorithm/copy_n.h>
 #include <__algorithm/count.h>
 #include <__algorithm/count_if.h>
@@ -1766,6 +1767,7 @@
 #include <__algorithm/find_if_not.h>
 #include <__algorithm/for_each.h>
 #include <__algorithm/for_each_n.h>
+#include <__algorithm/for_each_segment.h>
 #include <__algorithm/generate.h>
 #include <__algorithm/generate_n.h>
 #include <__algorithm/half_positive.h>
@@ -1784,10 +1786,12 @@
 #include <__algorithm/is_sorted.h>
 #include <__algorithm/is_sorted_until.h>
 #include <__algorithm/iter_swap.h>
+#include <__algorithm/iterator_operations.h>
 #include <__algorithm/lexicographical_compare.h>
 #include <__algorithm/lexicographical_compare_three_way.h>
 #include <__algorithm/lower_bound.h>
 #include <__algorithm/make_heap.h>
+#include <__algorithm/make_projected.h>
 #include <__algorithm/max.h>
 #include <__algorithm/max_element.h>
 #include <__algorithm/merge.h>
@@ -1810,11 +1814,25 @@
 #include <__algorithm/pop_heap.h>
 #include <__algorithm/prev_permutation.h>
 #include <__algorithm/pstl_any_all_none_of.h>
+#include <__algorithm/pstl_backend.h>
+#include <__algorithm/pstl_backends/cpu_backend.h>
+#include <__algorithm/pstl_backends/cpu_backends/any_of.h>
+#include <__algorithm/pstl_backends/cpu_backends/backend.h>
+#include <__algorithm/pstl_backends/cpu_backends/fill.h>
+#include <__algorithm/pstl_backends/cpu_backends/find_if.h>
+#include <__algorithm/pstl_backends/cpu_backends/for_each.h>
+#include <__algorithm/pstl_backends/cpu_backends/merge.h>
+#include <__algorithm/pstl_backends/cpu_backends/serial.h>
+#include <__algorithm/pstl_backends/cpu_backends/stable_sort.h>
+#include <__algorithm/pstl_backends/cpu_backends/thread.h>
+#include <__algorithm/pstl_backends/cpu_backends/transform.h>
+#include <__algorithm/pstl_backends/cpu_backends/transform_reduce.h>
 #include <__algorithm/pstl_copy.h>
 #include <__algorithm/pstl_count.h>
 #include <__algorithm/pstl_fill.h>
 #include <__algorithm/pstl_find.h>
 #include <__algorithm/pstl_for_each.h>
+#include <__algorithm/pstl_frontend_dispatch.h>
 #include <__algorithm/pstl_generate.h>
 #include <__algorithm/pstl_is_partitioned.h>
 #include <__algorithm/pstl_merge.h>
@@ -1854,6 +1872,7 @@
 #include <__algorithm/ranges_is_permutation.h>
 #include <__algorithm/ranges_is_sorted.h>
 #include <__algorithm/ranges_is_sorted_until.h>
+#include <__algorithm/ranges_iterator_concept.h>
 #include <__algorithm/ranges_lexicographical_compare.h>
 #include <__algorithm/ranges_lower_bound.h>
 #include <__algorithm/ranges_make_heap.h>
@@ -1936,10 +1955,13 @@
 #include <__algorithm/stable_partition.h>
 #include <__algorithm/stable_sort.h>
 #include <__algorithm/swap_ranges.h>
+#include <__algorithm/three_way_comp_ref_type.h>
 #include <__algorithm/transform.h>
+#include <__algorithm/uniform_random_bit_generator_adaptor.h>
 #include <__algorithm/unique.h>
 #include <__algorithm/unique_copy.h>
 #include <__algorithm/unwrap_iter.h>
+#include <__algorithm/unwrap_range.h>
 #include <__algorithm/upper_bound.h>
 
 // standard-mandated includes
diff --git a/libcxx/include/array b/libcxx/include/array
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -118,6 +118,7 @@
 #include <__algorithm/swap_ranges.h>
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__config>
+#include <__fwd/array.h>
 #include <__iterator/reverse_iterator.h>
 #include <__tuple/sfinae_helpers.h>
 #include <__type_traits/conditional.h>
diff --git a/libcxx/include/chrono b/libcxx/include/chrono
--- a/libcxx/include/chrono
+++ b/libcxx/include/chrono
@@ -765,6 +765,7 @@
 
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__chrono/calendar.h>
+#include <__chrono/concepts.h>
 #include <__chrono/convert_to_timespec.h>
 #include <__chrono/convert_to_tm.h>
 #include <__chrono/day.h>
diff --git a/libcxx/include/format b/libcxx/include/format
--- a/libcxx/include/format
+++ b/libcxx/include/format
@@ -175,6 +175,8 @@
 #include <__format/concepts.h>
 #include <__format/container_adaptor.h>
 #include <__format/enable_insertable.h>
+#include <__format/escaped_output_table.h>
+#include <__format/extended_grapheme_cluster_table.h>
 #include <__format/format_arg.h>
 #include <__format/format_arg_store.h>
 #include <__format/format_args.h>
@@ -190,6 +192,8 @@
 #include <__format/formatter_char.h>
 #include <__format/formatter_floating_point.h>
 #include <__format/formatter_integer.h>
+#include <__format/formatter_integral.h>
+#include <__format/formatter_output.h>
 #include <__format/formatter_pointer.h>
 #include <__format/formatter_string.h>
 #include <__format/formatter_tuple.h>
@@ -197,6 +201,7 @@
 #include <__format/range_default_formatter.h>
 #include <__format/range_formatter.h>
 #include <__format/unicode.h>
+#include <__format/width_estimation_table.h>
 #include <version>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/functional b/libcxx/include/functional
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -531,16 +531,20 @@
 #include <__functional/hash.h>
 #include <__functional/identity.h>
 #include <__functional/invoke.h>
-#include <__functional/mem_fn.h> // TODO: deprecate
+#include <__functional/is_transparent.h>
+#include <__functional/mem_fn.h>
 #include <__functional/mem_fun_ref.h>
 #include <__functional/not_fn.h>
 #include <__functional/operations.h>
+#include <__functional/perfect_forward.h>
 #include <__functional/pointer_to_binary_function.h>
 #include <__functional/pointer_to_unary_function.h>
 #include <__functional/ranges_operations.h>
 #include <__functional/reference_wrapper.h>
 #include <__functional/unary_function.h>
 #include <__functional/unary_negate.h>
+#include <__functional/weak_result_type.h>
+#include <__fwd/hash.h>
 #include <__type_traits/unwrap_ref.h>
 #include <__utility/forward.h>
 #include <memory> // TODO: find out why removing this breaks the modules build
diff --git a/libcxx/include/iterator b/libcxx/include/iterator
--- a/libcxx/include/iterator
+++ b/libcxx/include/iterator
@@ -699,6 +699,7 @@
 #include <__iterator/iter_swap.h>
 #include <__iterator/iterator.h>
 #include <__iterator/iterator_traits.h>
+#include <__iterator/iterator_with_data.h>
 #include <__iterator/mergeable.h>
 #include <__iterator/move_iterator.h>
 #include <__iterator/move_sentinel.h>
@@ -710,6 +711,7 @@
 #include <__iterator/projected.h>
 #include <__iterator/reverse_access.h>
 #include <__iterator/reverse_iterator.h>
+#include <__iterator/segmented_iterator.h>
 #include <__iterator/size.h>
 #include <__iterator/sortable.h>
 #include <__iterator/unreachable_sentinel.h>
diff --git a/libcxx/include/memory b/libcxx/include/memory
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -881,26 +881,33 @@
 #include <__config>
 #include <__memory/addressof.h>
 #include <__memory/align.h>
+#include <__memory/aligned_alloc.h>
 #include <__memory/allocate_at_least.h>
 #include <__memory/allocation_guard.h>
 #include <__memory/allocator.h>
 #include <__memory/allocator_arg_t.h>
+#include <__memory/allocator_destructor.h>
 #include <__memory/allocator_traits.h>
 #include <__memory/assume_aligned.h>
 #include <__memory/auto_ptr.h>
+#include <__memory/builtin_new_allocator.h>
 #include <__memory/compressed_pair.h>
 #include <__memory/concepts.h>
 #include <__memory/construct_at.h>
+#include <__memory/destruct_n.h>
 #include <__memory/pointer_traits.h>
 #include <__memory/ranges_construct_at.h>
 #include <__memory/ranges_uninitialized_algorithms.h>
 #include <__memory/raw_storage_iterator.h>
 #include <__memory/shared_ptr.h>
+#include <__memory/swap_allocator.h>
+#include <__memory/temp_value.h>
 #include <__memory/temporary_buffer.h>
 #include <__memory/uninitialized_algorithms.h>
 #include <__memory/unique_ptr.h>
 #include <__memory/uses_allocator.h>
 #include <__memory/uses_allocator_construction.h>
+#include <__memory/voidify.h>
 #include <version>
 
 // standard-mandated includes
diff --git a/libcxx/include/memory_resource b/libcxx/include/memory_resource
--- a/libcxx/include/memory_resource
+++ b/libcxx/include/memory_resource
@@ -50,6 +50,7 @@
  */
 
 #include <__config>
+#include <__fwd/memory_resource.h>
 #include <__memory_resource/memory_resource.h>
 #include <__memory_resource/monotonic_buffer_resource.h>
 #include <__memory_resource/polymorphic_allocator.h>
diff --git a/libcxx/include/ranges b/libcxx/include/ranges
--- a/libcxx/include/ranges
+++ b/libcxx/include/ranges
@@ -347,11 +347,14 @@
 
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__config>
+#include <__fwd/subrange.h>
 #include <__ranges/access.h>
 #include <__ranges/all.h>
 #include <__ranges/as_rvalue_view.h>
 #include <__ranges/common_view.h>
 #include <__ranges/concepts.h>
+#include <__ranges/container_compatible_range.h>
+#include <__ranges/copyable_box.h>
 #include <__ranges/counted.h>
 #include <__ranges/dangling.h>
 #include <__ranges/data.h>
@@ -367,6 +370,9 @@
 #include <__ranges/iota_view.h>
 #include <__ranges/join_view.h>
 #include <__ranges/lazy_split_view.h>
+#include <__ranges/non_propagating_cache.h>
+#include <__ranges/owning_view.h>
+#include <__ranges/range_adaptor.h>
 #include <__ranges/rbegin.h>
 #include <__ranges/ref_view.h>
 #include <__ranges/rend.h>
diff --git a/libcxx/include/stop_token b/libcxx/include/stop_token
--- a/libcxx/include/stop_token
+++ b/libcxx/include/stop_token
@@ -33,8 +33,12 @@
 
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__config>
+#include <__stop_token/atomic_unique_lock.h>
+#include <__stop_token/intrusive_list_view.h>
+#include <__stop_token/intrusive_shared_ptr.h>
 #include <__stop_token/stop_callback.h>
 #include <__stop_token/stop_source.h>
+#include <__stop_token/stop_state.h>
 #include <__stop_token/stop_token.h>
 #include <version>
 
diff --git a/libcxx/include/string b/libcxx/include/string
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -560,6 +560,7 @@
 #include <__memory/swap_allocator.h>
 #include <__memory_resource/polymorphic_allocator.h>
 #include <__string/char_traits.h>
+#include <__string/constexpr_c_functions.h>
 #include <__string/extern_template_lists.h>
 #include <__type_traits/is_allocator.h>
 #include <__type_traits/is_array.h>
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -207,8 +207,19 @@
 #include <__config>
 #include <__functional/invoke.h>
 #include <__fwd/array.h>
+#include <__fwd/get.h>
+#include <__fwd/tuple.h>
 #include <__memory/allocator_arg_t.h>
 #include <__memory/uses_allocator.h>
+#include <__tuple/make_tuple_types.h>
+#include <__tuple/pair_like.h>
+#include <__tuple/sfinae_helpers.h>
+#include <__tuple/tuple_element.h>
+#include <__tuple/tuple_indices.h>
+#include <__tuple/tuple_like.h>
+#include <__tuple/tuple_like_ext.h>
+#include <__tuple/tuple_size.h>
+#include <__tuple/tuple_types.h>
 #include <__type_traits/apply_cv.h>
 #include <__type_traits/common_reference.h>
 #include <__type_traits/common_type.h>
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -434,6 +434,8 @@
 #include <__type_traits/common_type.h>
 #include <__type_traits/conditional.h>
 #include <__type_traits/conjunction.h>
+#include <__type_traits/copy_cv.h>
+#include <__type_traits/copy_cvref.h>
 #include <__type_traits/decay.h>
 #include <__type_traits/dependent_type.h>
 #include <__type_traits/disjunction.h>
@@ -445,6 +447,8 @@
 #include <__type_traits/invoke.h>
 #include <__type_traits/is_abstract.h>
 #include <__type_traits/is_aggregate.h>
+#include <__type_traits/is_allocator.h>
+#include <__type_traits/is_always_bitcastable.h>
 #include <__type_traits/is_arithmetic.h>
 #include <__type_traits/is_array.h>
 #include <__type_traits/is_assignable.h>
@@ -460,10 +464,13 @@
 #include <__type_traits/is_convertible.h>
 #include <__type_traits/is_copy_assignable.h>
 #include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_core_convertible.h>
 #include <__type_traits/is_default_constructible.h>
 #include <__type_traits/is_destructible.h>
 #include <__type_traits/is_empty.h>
 #include <__type_traits/is_enum.h>
+#include <__type_traits/is_equality_comparable.h>
+#include <__type_traits/is_execution_policy.h>
 #include <__type_traits/is_final.h>
 #include <__type_traits/is_floating_point.h>
 #include <__type_traits/is_function.h>
@@ -490,6 +497,7 @@
 #include <__type_traits/is_pod.h>
 #include <__type_traits/is_pointer.h>
 #include <__type_traits/is_polymorphic.h>
+#include <__type_traits/is_primary_template.h>
 #include <__type_traits/is_reference.h>
 #include <__type_traits/is_reference_wrapper.h>
 #include <__type_traits/is_referenceable.h>
@@ -497,6 +505,7 @@
 #include <__type_traits/is_scalar.h>
 #include <__type_traits/is_scoped_enum.h>
 #include <__type_traits/is_signed.h>
+#include <__type_traits/is_signed_integer.h>
 #include <__type_traits/is_specialization.h>
 #include <__type_traits/is_standard_layout.h>
 #include <__type_traits/is_swappable.h>
@@ -508,29 +517,42 @@
 #include <__type_traits/is_trivially_copyable.h>
 #include <__type_traits/is_trivially_default_constructible.h>
 #include <__type_traits/is_trivially_destructible.h>
+#include <__type_traits/is_trivially_lexicographically_comparable.h>
 #include <__type_traits/is_trivially_move_assignable.h>
 #include <__type_traits/is_trivially_move_constructible.h>
 #include <__type_traits/is_unbounded_array.h>
 #include <__type_traits/is_union.h>
 #include <__type_traits/is_unsigned.h>
+#include <__type_traits/is_unsigned_integer.h>
+#include <__type_traits/is_valid_expansion.h>
 #include <__type_traits/is_void.h>
 #include <__type_traits/is_volatile.h>
+#include <__type_traits/lazy.h>
+#include <__type_traits/make_32_64_or_128_bit.h>
 #include <__type_traits/make_const_lvalue_ref.h>
 #include <__type_traits/make_signed.h>
 #include <__type_traits/make_unsigned.h>
 #include <__type_traits/maybe_const.h>
+#include <__type_traits/nat.h>
 #include <__type_traits/negation.h>
+#include <__type_traits/noexcept_move_assign_container.h>
+#include <__type_traits/operation_traits.h>
+#include <__type_traits/predicate_traits.h>
+#include <__type_traits/promote.h>
 #include <__type_traits/rank.h>
 #include <__type_traits/remove_all_extents.h>
 #include <__type_traits/remove_const.h>
 #include <__type_traits/remove_const_ref.h>
 #include <__type_traits/remove_cv.h>
+#include <__type_traits/remove_cvref.h>
 #include <__type_traits/remove_extent.h>
 #include <__type_traits/remove_pointer.h>
 #include <__type_traits/remove_reference.h>
 #include <__type_traits/remove_volatile.h>
 #include <__type_traits/result_of.h>
+#include <__type_traits/strip_signature.h>
 #include <__type_traits/type_identity.h>
+#include <__type_traits/type_list.h>
 #include <__type_traits/underlying_type.h>
 #include <__type_traits/unwrap_ref.h>
 #include <__type_traits/void_t.h>
diff --git a/libcxx/include/utility b/libcxx/include/utility
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -248,9 +248,11 @@
 
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__config>
+#include <__fwd/pair.h>
 #include <__utility/as_const.h>
 #include <__utility/auto_cast.h>
 #include <__utility/cmp.h>
+#include <__utility/convert_to_integral.h>
 #include <__utility/declval.h>
 #include <__utility/exception_guard.h>
 #include <__utility/exchange.h>
@@ -264,6 +266,7 @@
 #include <__utility/priority_tag.h>
 #include <__utility/rel_ops.h>
 #include <__utility/swap.h>
+#include <__utility/terminate_on_exception.h>
 #include <__utility/to_underlying.h>
 #include <__utility/unreachable.h>
 #include <version>