(a -> b -> c) -> (d -> a) -> (e -> b) -> d -> e -> c
f recip exp (*) = \x y -> recip x * exp y
(<$>)
(.)
(f <*> g) x
f x (g x)
liftA2 :: (a -> b -> c) -> f a -> f b -> f c
f
f<$>g<*>h
\x -> f (g x) (h x)
((flip.((.).)).).(.)
f.g<*>h