It is very personal and you will not have to look over your shoulder, but I do not like not to have those brackets.
Making everything dynamical might make the code less understandable.
We could still use a switch or a virtual constructor (but I am not sure we want a virtual constructor as people often consider it as not very explicit).