How's this different than:
secondFn(firstFn(val))
val.firstFn().secondFn()
var intermediaryVal = firstFn(val); var result = secondFn(intermediaryVal);
(let [intermediary-val (first-fn val) result (second-fn intermediary-val)])
(-> val first-fn second-fn)
How's this different than:
other than the placement of parenthesis, the two cases read exactly the same, left to right.