Nos exemplos usamos o construtor primário para receber parâmetros, mas que a princípio não pode ter nenhum tipo de validação ou de código extra.
No java fazemos a validação direto no construtor. No caso do Kotlin fazemos isso usando Init Block ou com Construtores secundários? Qual seria a melhor prática?