title: Kotlin function argument without type annotation
body: <p>On Kotlin, Arguments of a function require their type annotation when defining the method.</p>
  
  <p>In my case, I have two classes from an interface.</p>
  
  <pre><code>interface Base{
      fun method()
  }
  
  class DervA():Base{
      fun override method(){
          ...
      }
  }
  
  class DervB():Base{
      fun override method(){
          ...
      }
  }
  </code></pre>
  
  <p>And, I hope to call their methods from other function like</p>
  
  <pre><code>fun test_method(inst){
      inst.method()
  }
  </code></pre>
  
  <p>But, Kotlin compiler complains "a type annotation is required on a value parameter" .</p>
  
  <p>Should I define "test_method" for each of the classes ?</p>
  
  <pre><code>fun test_method_for_DervA(inst:DervA){
      inst.method()
  }
  
  fun test_method_for_DervB(inst:DervB){
      inst.method()
  }
  </code></pre>
  
  <p>Do you have any smarter way for it?</p>