Merge branch '1.8' into 1.9.
Now, the prefix length of an enum can be implicit.
Now, for enums, the ml type can be implicit.
Now, in ml files, enums are defined via includes.
Merge branch '1.8' into 1.9.
Merge branch '1.9'.