   [p s]
   (fold-right true #(and (p %) %2) s))
 ;-----------------------------------------------------------------------
+
+;5.5
+;mine
+(defn take-while-fr
+  "Reimplementing take-while via f-r"
+  [p s]
+  (fold-right '() #(if (p %) (conj %2 %) %2) s))
+;fpins
+;conceptually the same
+;-----------------------------------------------------------------------


;auxiliary - direct translation from book
(defn fold-right [z f s]
  (if-let [[h & t] s]
    (f h (fold-right z f t))
    z))

;example - exists via f-r - also direct translation from book
(defn exists

    (go s [])))
;fpins
(defn my-take-while-fpins
  "fpins variant of take-while"                             ;obviously - less verbose than mine and no (obvious) accumulation :)
  [f s]
  (let [value (first s)]
    (when (f value)
