¿Por qué está funcionando esta declaración de enumeración ahora?

Mientras respondía otra pregunta, Jon Skeet mencionó que hay algo extraño con la definición deenums. Su respuesta

Afirma que redifinar el tipo subyacente de unenum solo es posible con los alias de tipo y no con los tipos de marco (int es válida,Int32 no, etc.)

public enum Foo : UInt32 {} // Invalid
public enum Bar : uint   {} // Valid

Ahora intenté reproducir eso (con C # 6 / Roslyn en VS2015), y no llegué a la misma conclusión:

public enum TestEnum : UInt32
{

}

y

public enum MyEnum : uint
{

}

Ambos son totalmente válidos. ¿Por qué es así? ¿O ha cambiado lo que ha cambiado?

EDITAR:

Entonces, para aclarar las cosas, fue un cambio en C # 6, que aún no se ha documentado, y se documentará pronto, como puede leer de este problema de git en elRoslyn Github

Respuestas a la pregunta(3)

Su respuesta a la pregunta