>>308
val name = nullable
val age = nullable
val user = name?.let { age?.let { User(name, age) } }
この例に限って言えばnameやageが2回出現してしまってるしletというノイズも入ってて美しくないけど、
実際には単純な if (x != null) x.hoge() else null のパターンの方が圧倒的に多いんだから
そういうときにもいちいちflatMapを唱えるのは冗長だろう
型名が何でもかんでもOptional[〜]になっちゃうのもスマートじゃない