Source: https://isocpp.org/files/papers/N4487.pdf