   "sequence function for exercise 6.7"
   [fs]
   (reduce                                                   ;check out comment below to see why I've used reduce instead of fold-right
-    #(map-rng-2 % %2 (fn [a b]
+    #(map2-rng % %2 (fn [a b]
                        (if (vector? a)
                          (conj a b)
                          [a b])))

(defn both
  "Translating 'both' from section 6.4.1 - Combining state actions"
  [ra rb]
  (map-rng-2 ra rb #(identity [% %2])))

(def int-double-via-both
  "int-double via both (via map2 (: )"


;6.6
;mine
(defn map2-rng
  "map2 for exercise 6.6, takes two actions ra and rb and binary function f which combines results of them"
  [ra rb f]
  (fn [rng]
