&gt; you can &quot;understand&quot; them quicker in Kotlin, but you can&#x27;t change how they work or use them to implement a new structure.<p>I&#x27;m not sure that extension methods are a particularly fitting example here.<p>Scala adds a lot of boilerplate for — in my view — very little gain. Of course, Scala&#x27;s extension methods are actually a special case for implicit conversions; yet, the Scala we write today in my experience tends to avoid implicit conversions per se.<p>E.g., I&#x27;d rather be explicit about a type conversion when <i>that</i> is what I want to achieve: for instance, I&#x27;d rather read `javaListMethod(mySeq.asJava)` than `javaListMethod(mySeq.asJava)`. Thus, I&#x27;d rather have a first-class construct for extension methods rather than having to write `implicit class RichSeq(val s: Seq) extends AnyVal { def asJava = ... }`<p>In this case I do prefer Kotlin.