title: How to generate a null using Kotlin KClass property simpleName
body: <p>The spec for <code>KClass.simpleName</code> on Kotlin 1.3.41 for Common, JS, JVM and Native is: </p>
  
  <blockquote>
    <p>The simple name of the class as it was declared in the source code, or
    null if the class has no name (if, for example, it is an anonymous
    object literal).</p>
  </blockquote>
  
  <p>To generate a null seems straightforward: get the simpleName of the KClass generated from an anonymous object literal. The following code is a failed attempt to do just that:</p>
  
  <pre><code>interface Human { fun think(): String }
  
  @Test fun `when finding the name of an anonymous object verify the name is null`() {
      fun start(man: Human) = println(man.think())
  
      start(object: Human {
          val name = this::class.simpleName
          override fun think() = "Thinking really hard! Name is: $name" // name == 2
      })
  }
  </code></pre>
  
  <p>My expectation was that name should be <code>null</code>. Why is the value of name 2? How should I change the code to get the value of name to be <code>null</code>?</p>