title: Why does the execution order of tasks in clojure boot change?
body: <pre><code>(deftask test1 "first test task" [] (print "1") identity)
  (deftask test2 "second test task" [] (print "2") identity)
  (boot (comp (test1) (test2)))
  =&gt; 12nil
  (boot (comp (fn [x] (print "1") identity) (fn [x] (print "2") identity)))
  =&gt; 21nil
  </code></pre>
  
  <p>If I use <code>comp</code> on tasks, the execution order is from left to right. If I use <code>comp</code> on anonymous functions, the execution order is from right to left. How is this inconsistency reasonable?</p>