Very cool. I pulled it into the majority of the modules in my codebase and all tests are still passing. The only issue I run into is the formatter goes nuts with parentheses and turns something like this…
name
|> &greet(greeting, &1)
|> String.upcase()
|> (&(&1 <> "...")).()
|> &("..." <> &1)
|> &{:ok, &1}
…into this…
name
|> (&(greet(greeting, &1)
|> String.upcase()
|> (&(&1 <> "...")).()
|> (&(("..." <> &1)
|> (&{:ok, &1})))))