[Niall Douglas]
the fact we finally can write fully standards conforming C++ 14 (sans preprocessor) for the MSVC target.
VC 2015 Update 2 doesn't support: * C++98: Two-phase name lookup. * C++98: Dynamic exception specifications (deprecated in C++11, and likely to be removed in a future Standard; we don't expect to ever implement this). * C++11: Expression SFINAE support is Partial. With enough workarounds, what's supported is sufficient for result_of/function. * C++11: C99 preprocessor rules. * C++14: Extended constexpr. * C++14: NSDMIs for aggregates. Our STL is C++14 complete and was current with N4567 (pre-Jax) - with minor exceptions as described by https://blogs.msdn.microsoft.com/vcblog/2016/01/22/vs-2015-update-2s-stl-is-... (e.g. without extended constexpr in the compiler, min()/max()/minmax() for initializer_list can't be constexpr). STL