Por que é possível omitir valores padrão nas funções de membro substituídas dos subtipos?

Assim como indicado no título: Por que é possível omitir valores padrão nas funções-membro substituídas dos subtipos?

É istonormal ou para ser esperado?

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

O mesmo comportamento no caso em queFoo é uma classe.

questionAnswers(2)

yourAnswerToTheQuestion