title: Kotlin - Unable to check interface usage using `is`
body: <p>I'm working in Kotlin and getting a class like such:</p>
  
  <pre><code>val payloadClass =  try {
      Class.forName("com.something.SomeClass")
  } catch (e: ClassNotFoundException) {
     null
  }
  </code></pre>
  
  <p>It's successfully finding the class however when I then go to check whether it implements some interface, it keeps returning <code>false</code>:</p>
  
  <p>To check I'm using the keyword <code>is</code>:</p>
  
  <p>so <code>payloadClass is AGreatInterface</code>.</p>
  
  <p>Is there some reason why this wouldn't work. I've used <code>is</code> elsewhere and it works as expected, wondering if it's something to do with <code>Class.forName</code>.</p>
  
  <p>I used <code>payloadClass.interfaces.contains(AGreatInterface::class.java)</code> and that worked. But why wouldn't <code>is</code> work?</p>
  
  <p>Any ideas appreciated.</p>
  
  <p>Thanks.</p>