scalaz.ApplicativeBuilder メモ
fmap :: Functor m => (a -> b) -> m a -> m b apply :: Applicative m => m (a -> b) -> m a -> m b build2 :: (Functor m, Applicative m) => m a -> m b -> (a -> b -> c) -> m c build2 ma mb f = apply (fmap f ma) mb build3 :: (Functor m, Applicative m) => m a -> m b -> m c -> (a -> b -> c -> d) -> m d build3 ma mb mc f = apply (apply (fmap f ma) mb) mc
pseudo code desu.