Source: https://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2018/p1008r0.pdf