title: What is the difference between find and firstOrNull?
body: <p>Given the following code extracted from <a href="https://github.com/Kotlin/kotlin-koans/blob/resolutions/src/ii_collections/n15AllAnyAndOtherPredicates.kt#L36-L39" rel="noreferrer">Kotlin Koans</a>:</p>
  
  <pre><code>fun Shop.findAnyCustomerFrom(city: City): Customer? {
      // Return a customer who lives in the given city, or null if there is none
      return customers.firstOrNull { it.isFrom(city) }
  }
  </code></pre>
  
  <p>My own solution used <code>customers.find</code>. Both work in the koan scenario.</p>
  
  <p>The documentation for <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/first-or-null.html" rel="noreferrer"><code>firstOrNull</code></a> and <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find.html" rel="noreferrer"><code>find</code></a> seem to be very similar.</p>
  
  <p>What is the difference between these two functions?</p>