What is the difference between find and firstOrNull? : <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>
