std::chrono is used because it has cross platform support. Previously we had to maintain our own abstraction layer to handle the different time APIs on windows and POSIX. With std::chrono we just let the standard ibrary handle it.
Also visual studio is particularly bad at template error messages. Clang is much better at templates generally.
Also visual studio is particularly bad at template error messages. Clang is much better at templates generally.