New programmers are like children. They don't think in terms of consequences and "where-do-bugs-come-from" and notions like "does-my-favorite-thing-make-bugs"?
NOTE: I went 18 years in FoxPro thinking and convinced through programming-language religious zealotry that FoxPro was the best ever and no other language was as good. If you showed me your thing, I would show you why I was convinced that FoxPro was the true Gospel of Computer Programming and your thing was damned to programming-language hell.
Perhaps this is why I am certainly an Eiffel Evangelist in some ways. No, I don't have an emotional attachment to Eiffel, but a sound and reasoned preference that is based on observation and time to understand just where those bugs in my code are coming from!
What I do not want to do is toss the baby out with the bathwater. So, as I am reviewing Kotlin and considering it next to Eiffel, and I then come upon this Kotlin-ish-reinvention of the FoxPro IIF-wheel, I am immediately moved to ask, "Can I do that in Eiffel code?"
It's like the whole Java record class type in my other post. I actually think that there is some merit to it, but that it belongs to the compiler and not the language and libraries. I tried to make such a thing, but it got pretty ugly in comparison to the nice compiler-based "record" class and how it works in Java. I am not saying I think we need to rush off and keep up with the Java-Jones just this moment, but it did make me realize a useful concept and that some things belong to the compiler (still -- not saying "record" class in Eiffel is a good thing).
I dredge that back up here (out of the topic thread I created for it) because it dovetails with my looking at these other "hot" and "popular" languages. As I am looking at them, I am giving a bow to them to say, "That has some merit!" and then "can-I-do-that-in-Eiffel"? If I can, do such things need to find their way into a separate "junk" library project — like that kitchen-drawer library where you put all the things that you don't know where they belong otherwise, but you don't want to throw out (come on -- we all have junk drawers, right?).