 
 (defn- halfs
   [n]
-  (take-while (partial not= 0) (iterate #(quot % 2) n)))
+  (take-while #(not= 0 %) (iterate #(quot % 2) n)))
 
 (defn- shrink-int
   [integer]
-  (core/map (partial - integer) (halfs integer)))
+  (core/map #(- integer %) (halfs integer)))
 
 (defn- int-rose-tree
   [value]

  if it's not already."
  [coll]
  (let [index-gen (choose 0 (dec (count coll)))]
    (fmap (partial reduce swap (vec coll))
          ;; a vector of swap instructions, with count between
          ;; zero and 2 * count. This means that the average number
          ;; of instructions is count, which should provide sufficient

  ([generator max-size]
   (let [r (random/make-random)
         size-seq (make-size-range-seq max-size)]
     (core/map #(rose/root (call-gen generator %1 %2))
               (lazy-random-states r)
               size-seq))))

