The Elixir pipe syntax is reminiscent of Clojure's ->/->>:
(->> (range 1 10)
(map #(* % %))
(filter (partial > 40)))
It's nice that in languages like Haskell or ML this is trivial: infix |>
fun (a |> b) = a b
You could modify this to let NONE fall through, etc.