Great work on M3

Greetings all,

I’ve just upgraded my project to M3 from a somewhat outdated nightly and would like to congratulate you on how seamless it was.

The Tuple migration was painless (and provides one more data point that Pair and Triples are sufficient - I had no Tuples beyond a Pair).
I was caught with Pair not being covariant, but noticed it’s fixed in the latest builds and upgraded accordingly.

I expected collections migration to be a hassle, but it proved to be trivial. With immutable collections being covariant it made it easy to expose immutable collections while using mutable collections internally. e.g.

  val mutable = HashMap<String, MutableList<String>>()   val immutable: Map<String, List<String>> = mutable

About the only other thing I had to do is drop is from when statements - this too seems cleaner. It would be cleaner still if we weren't forced to supply else clauses - it's a bit ugly littering the code with else -> throw IllegalArgumentException() when it's never going to happen.

Anyway, well done and keep up the great work.



Thanks for the kind words. We’ll do something about else’s.