There's a theory this should work:
getContents >>= lines >>> map read >>> sum >>> print
But unfortunately we have:
`(>>=)' [infixl 1]
`(>>>)' [infixr 1]
Meaning we must write:
getContents >>= (lines >>> map read >>> sum >>> print)
Indeed, all Arrow ops are infixr.
Are there any technical/compelling reasons for this?
-- Don