The consteval specifier was introduced in C++20 to denote functions strictly evaluated at compile time.
This contrasts the behaviour of the constexpr specifier, which allows a function to be evaluated at compile time or runtime. While this has the benefit of potentially avoiding code duplication, it can also be a detriment when we need to force compile-time evaluation (which can be tricky).