Interesting, but seems like overkill to me personally. I'm ok with @@ and |> (which already breaks F#'s convention, since @@ would be <| in F#. What's the reason we went with @@ instead again?). Function composition is potentially more confusing, and I think keeping it with a consistent associativity direction (that being the direction of normal function application from right to left) has value. So I'm personally sort-of ok with <<, but once you suggest something as beautifully concise as o, I'm overwhelmed by the convenience factor.