I have just formulated the type of (.)
, generalized, as far as I can tell, however, upon typing it into Hoogle, I received no results.
I'd have expected
(.) :: (->) ((->) b c) ((->) ((->) a b) ((->) a c))
~ (b -> c) -> ((a -> b) -> (a -> c))
~ (b -> c) -> (a -> b) -> a -> c
to match
thistype ~ f (f b c) (f (f a b) (f a c))