title: Why is it possible to omit default values in overridden member functions of sub-types?
body: <p>Just as stated in the title: Why is it possible to omit default values in overridden member functions of sub-types?</p>
  
  <p>Is this <em>normal</em> or to be expected?</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Same behavior in the case where <code>Foo</code> is a class.</p>