title: kotlin alias property delegation throws Exception
body: <p>i want to add aliases property to some class in kotlin which just delegate themselves to some existed properties </p>
  
  <p>then i invent a method called alias to do so, which unfortunately results in an Exception</p>
  
  <pre><code>val &lt;T&gt; Array&lt;T&gt;.length by alias(Array&lt;T&gt;::size)
  
  val &lt;T&gt; Collection&lt;T&gt;.length by alias(Collection&lt;T&gt;::size)
  
  fun &lt;R, T&gt; alias(alias: KProperty1&lt;R, T&gt;) = object : ReadOnlyProperty&lt;R, T&gt; {
      override operator fun getValue(thisRef: R, property: KProperty&lt;*&gt;): T {
          return alias.get(thisRef)
      }
  }
  </code></pre>
  
  <p>following the exception stack</p>
  
  <pre><code>java.lang.NoSuchMethodError: [Ljava.lang.Object;.getSize()I
  at kt.ruby.ArrayKt$length$2.get(Array.kt:34)
  at kt.ruby.ArrayKt$alias$1.getValue(Array.kt:40)
  at kt.ruby.ArrayKt.getLength(Array.kt)
  </code></pre>