I\'ve had the luxury of learning a bit of Idris lately and one thing I\'ve found extremely convenient is the !-notation, which let\'s me shorten monadic code inside a do block s
import Control.Arrow
a' = Kleisli $ const a
b' = Kleisli $ const b
c' = Kleisli $ const c
foo = (`runKleisli`()) $
(a' &&& b') &&& c' >>> uncurry (uncurry someFunction)