アプリカティブ
どこでどう使うかはまだわからないけど、あるデータに対してメソッドのリストを適応したい、とかだと使えそうな気がする
// scalaz scala> Option(2) <*> Option( (x:Int) => x*2 ) res69: Option[Int] = Some(4) scala> List(2,3) <*> List( (x:Int) => x*2 ) res71: List[Int] = List(4, 6) scala> List(2) <*> List( (_:Int) *2, (_:Int) *3 ) res81: List[Int] = List(4, 6) scala> 2.pure[List] <*> List( (_:Int) *2, (_:Int) *3 ) res84: List[Int] = List(4, 6)