I'm a big fan of the flow package (https://hackage.haskell.org/package/flow), which defines
(<.) :: (b -> c) -> (a -> b) -> a -> c
and (.>) :: (a -> b) -> (b -> c) -> a -> c