[Scheme] Scheme怎么实现串型宏?

(define (~>> arg list-of-funcs)
  ((fold-left compose (lambda (x) x) list-of-funcs) arg))

不过我实在看不懂这里为什么有两层括号,有Scheme宏的教程链接能给我发一个吗