from pipetools import pipe, X, foreach
really_angry = pipe | upper | exclaim | exclaim
or... really_angry = X.upper() | "{0}!" | "{0}!"
(1, 2, 3, 4) > foreach((X + 1) | (X * 3)) | max
You can write some pretty neat looking concise code with this, but also may regret it later when it comes to debugging, especially when lazy evaluation is involved (which is usually the case). The stacktraces tend to be not so helpful...
Did this to try out Fable. If you mess up the letters and wait a bit it will put itself together :)