underscore.js/lodash.jsのcomposeでハマった

a = _.compose(
  (v) -> String(v).toLowerCase()
  (v) -> String(v).toUpperCase()
)

a 'Hi!'  # => 'hi!'

後方から前方の関数に向かって処理が走るのか!