template<class T> concept Incrementable = requires(T t) { ++t; }; template<class T> auto incr(T t) requires Incrementable<T> { return ++t; } int main() { auto i = 0; return incr(i); }