A raiz é uma mensagem, não o arquivo
A primeira declaração message é usada inicialmente, mesmo que existam enums e serviços. O seletor apresenta nomes completos. Ao editar o código, a seleção volta ao início para não manter como raiz um tipo que acabou de ser removido ou renomeado.