>> Is there any merit in having implicit conversion to the basetype? > > Allowing it to be used as an argument when calling C functions? extern(C): enum Bla : int {...} void foo(Bla b); How does this require implicit conversion? The codegen treats Bla like basetype anyway.