¿Por qué es posible omitir los valores predeterminados en las funciones miembro sobrescritas de los subtipos?

Tal como se indica en el título: ¿Por qué es posible omitir los valores predeterminados en las funciones miembro sobrescritas de los subtipos?

Es estonormal o que se espera?

interface Foo {
  fun bar(parameter: Int = 1)
}

class Baz : Foo {
  override fun bar(parameter: Int) { // OK
    println(parameter)
  }
}

val baz = Baz()

baz.bar() // OK
baz.bar(2) // OK

Mismo comportamiento en el caso dondeFoo es una clase

Respuestas a la pregunta(2)

Su respuesta a la pregunta