diff --git a/base/containers/span.h b/base/containers/span.h
index c7ed4c3..a34d2ee 100644
--- a/base/containers/span.h
+++ b/base/containers/span.h
@@ -33,6 +33,9 @@
 
 namespace base {
 
+template <size_t N>
+using fixed_extent = std::integral_constant<size_t, N>;
+
 template <typename T,
           size_t Extent = dynamic_extent,
           typename InternalPtrType = T*>
@@ -40,6 +43,21 @@
 
 namespace internal {
 
+template <typename T>
+concept IntegralConstantLike =
+    std::is_integral_v<decltype(T::value)> &&
+    !std::is_same_v<bool, std::remove_const_t<decltype(T::value)>> &&
+    std::convertible_to<T, decltype(T::value)> &&
+    std::equality_comparable_with<T, decltype(T::value)> &&
+    std::bool_constant<T() == T::value>::value &&
+    std::bool_constant<static_cast<decltype(T::value)>(T()) == T::value>::value;
+
+template <typename T>
+inline constexpr size_t MaybeStaticExt = dynamic_extent;
+template <typename T>
+  requires IntegralConstantLike<T>
+inline constexpr size_t MaybeStaticExt<T> = {T::value};
+
 template <typename From, typename To>
 concept LegalDataConversion =
     std::convertible_to<std::remove_reference_t<From> (*)[],
@@ -260,6 +278,13 @@
     requires(N == 0)
   = default;
 
+  template <typename It, size_t N>
+    requires(internal::CompatibleIter<T, It>)
+  UNSAFE_BUFFER_USAGE explicit constexpr span(
+      It first,
+      std::integral_constant<size_t, N> count) noexcept
+      : span(first, N) {}
+
   // Constructs a span from a contiguous iterator and a size.
   //
   // # Checks
@@ -1038,7 +1063,8 @@
 // [span.deduct], deduction guides.
 template <typename It, typename EndOrSize>
   requires(std::contiguous_iterator<It>)
-span(It, EndOrSize) -> span<std::remove_reference_t<std::iter_reference_t<It>>>;
+span(It, EndOrSize) -> span<std::remove_reference_t<std::iter_reference_t<It>>,
+                            internal::MaybeStaticExt<EndOrSize>>;
 
 template <
     typename R,
