This module overloads the basic |> operator, and as such should be used with extreme caution (if ever).
|>
iex> use Exceptional.Pipe ...> 1 |> fn x -> x * 100 end.() 100 iex> use Exceptional.Pipe ...> ArgumentError.exception("plain error") ...> |> fn x -> x * 100 end.() %ArgumentError{message: "plain error"}