Some functions have no side effects, and while they can be often optimised, the compiler is not aware of that.
Consider this example:
```cpp
template <std::arithmetic T> constexpr T(const T a, const T b) { return a + b; }
```
That function could be declared as pure, or in other words, produces no side effects.
I think this is a great way to optimise frequent calls, such as a pure function's result can be cached for the same arguments provided.
Diagnostics: if a pure function has side effects, the compiler shall issue a warning and calling that function is undefined.
pure member function shall be declared as const, otherwise, the program is ill-formed.
--