          [:turn {:locked false :candies candies :coins coins}]
          (machine true (dec candies) coins)))
 
+
+

  [fs]
  (fpinscala.strictness-and-laziness/fold-right             ;Notice that this variant is using fold-right
    (unit '())                                              ;Check out that "unit-produced" function is used as z value (now - it wouldn't be really
    #(map2-rng % %2 (fn [a b] (cons a b)))                 ;correct to say it is "initial" but rather neutral (or terminating?) element
    fs))
;THIS WORKS!!! - THUS IN TERMS OF FPINS (AS FAR AS I UNDERSTOOD) Z IS UNIT/NEUTRAL ELEMENT


  "flatMap for exercise 6.8 from FPINS"
  [f g]
  #(from-rng (f %) :let [n rng2]
             ((g n) rng2)))

;nonNegativeLessThan via flatMap
(defn non-negative-less-than
