これは Kotlin Advent Calendar 2022 の19日目が空いていたので書いたものです。 Kotlin中心の仕事になるので少しずつお勉強中なのだが、Scalaでコードを書いているときに使っている便利なデータ型が意外とKotlinにはないなとかNull-Safetyの方針がScalaとは違うのだなと感じることがある。 これは、その感想をうけて関数型プログラミングライブラリであるArrowを使えばややScalaぽいコードが書けそうなので試してみるものである。ArrowにはCore, Fx, Optics等ライブラリがいくつかあるがそのうちArrow Coreの一部データ型について触っていく。 追記: 2022.12.21 Tuple4~22について追加した Either<A, B> Left<A> または Right<B> のいずれかとなる。 詳細は以下の記事が詳しい。 ha