I fall more in love with Kotlin every time I use it . At my job , I flip back and forth between Java 7 in a very legacy platform and Kotlin in a shiny new microservice , so the benefits are very apparent because of the stark contrast . Extension methods , data classes , null safe types , tuples , and the collections library are probably my favorite language features . That last one especially , which brings me to this val staffUserPair , staffContactList service . getStaffInfocode . blockingFirst . asSequence . filterNotNull . filter it . isInactive . map val user UserDto firstName it . firstName , lastName it . lastName val staff StaffDto staffNumber it . staffNumber , user user . id val contact ContactDto label ContactLabel . STAFF , firstName it . firstName , lastName it . lastName , email 1 it . emailAddress , user user . id user to staff to contact . unzipStuff like this is really simple and elegant in Kotlin and I ' m that much off better because of it . It ' s not hard to do in Java , it ' s just tedious and looks ugly .