:: (a -> b) -> (b -> c) -> (a -> c)

Backwards function composition. This is a specialization of <&>, but it has a different fixity.
Left-associative compose operator. Read as "compose forward" or "and then". Use this to create long chains of computation that suggest which direction things move in.
>>> let f = succ .> recip .> negate

>>> f 3
-0.25
Or use it anywhere you would use (>>>).
\ x -> (f .> g) x == g (f x)
\ x -> (f .> g .> h) x == h (g (f x))
Function composition. This function usually isn't necessary, but it can be more readable than some alternatives when used with higher-order functions like map.
>>> let fs = map (compose succ) [recip, negate]

>>> map (apply 3) fs
[0.25,-4.0]
In general you should prefer using an explicit lambda or operator section.
>>> map (\ f -> f 3) (map (\ f -> succ .> f) [recip, negate])
[0.25,-4.0]

>>> map (\ f -> f 3) (map (succ .>) [recip, negate])
[0.25,-4.0]

>>> map (\ f -> f 3) (map (<. succ) [recip, negate])
[0.25,-4.0]
\ x -> compose f g x == g (f x)
Diagrammatic composition.
A very simple operation involving running the function "under" the newtype. Suffers from the problems mentioned in the ala function's documentation.
A very simple operation involving running the function 'under' the newtype.
>>> under Product (stimes 3) 3
27