Source: https://wg5-fortran.org/N2151-N2200/N2161.pdf