diff --git a/fpdfsdk/cpdfsdk_helpers.cpp b/fpdfsdk/cpdfsdk_helpers.cpp
index 04f7c8c..209ad66 100644
--- a/fpdfsdk/cpdfsdk_helpers.cpp
+++ b/fpdfsdk/cpdfsdk_helpers.cpp
@@ -237,6 +237,17 @@
                         FPDFWideStringLength(wide_string) * 2)));
 }
 
+UNSAFE_BUFFER_USAGE pdfium::span<char> SpanFromFPDFApiArgs(
+    void* buffer,
+    pdfium::StrictNumeric<size_t> buflen) {
+  if (!buffer) {
+    // API convention is to ignore `buflen` arg when `buffer` is NULL.
+    return pdfium::span<char>();
+  }
+  // SAFETY: required from caller, enforced by UNSAFE_BUFFER_USAGE in header.
+  return UNSAFE_BUFFERS(pdfium::make_span(static_cast<char*>(buffer), buflen));
+}
+
 #ifdef PDF_ENABLE_XFA
 RetainPtr<IFX_SeekableStream> MakeSeekableStream(
     FPDF_FILEHANDLER* pFilehandler) {
diff --git a/fpdfsdk/cpdfsdk_helpers.h b/fpdfsdk/cpdfsdk_helpers.h
index 5bdb685..07db81d 100644
--- a/fpdfsdk/cpdfsdk_helpers.h
+++ b/fpdfsdk/cpdfsdk_helpers.h
@@ -257,21 +257,11 @@
 WideStringFromFPDFWideString(FPDF_WIDESTRING wide_string);
 
 // Public APIs are not consistent w.r.t. the type used to represent buffer
-// length, while internal code generally expects size_t. To get consistent
-// behavior regardless of size type, templatize SpanFromFPDFApiArgs().
-//
-// TODO(crbug.com/42270941): Switch to concepts.
-template <typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
-UNSAFE_BUFFER_USAGE pdfium::span<char> SpanFromFPDFApiArgs(void* buffer,
-                                                           T buflen) {
-  if (!buffer) {
-    // API convention is to ignore `buflen` arg when `buffer` is NULL.
-    return pdfium::span<char>();
-  }
-  // SAFETY: required from caller, enforced by UNSAFE_BUFFER_USAGE in header.
-  return UNSAFE_BUFFERS(pdfium::make_span(
-      static_cast<char*>(buffer), pdfium::checked_cast<size_t>(buflen)));
-}
+// length, while internal code generally expects size_t. Use StrictNumeric here
+// to make sure the length types fit in a size_t.
+UNSAFE_BUFFER_USAGE pdfium::span<char> SpanFromFPDFApiArgs(
+    void* buffer,
+    pdfium::StrictNumeric<size_t> buflen);
 
 #ifdef PDF_ENABLE_XFA
 // Layering prevents fxcrt from knowing about FPDF_FILEHANDLER, so this can't
