Since C++20, functions can be constrained, establishing a partial ordering of function overloads.
If multiple candidates satisfy a function invocation, the candidate with the most specific constraint will be selected.
For practical purposes, this allows for specialized implementations that take advantage of additional features provided by the arguments.
Compiler Explorer link: https://compiler-explorer.com/z/sbxbjx8cY