I have a reduce with an anonymous function with a persistent array map as parameter (and a map to accumulate a result). So during reducing, the lambda function will iterate on **all** key/val pairs. Yet I need to stop the whole reduction process upon a condition. The problem is that 'reduced' terminate only for the **current** key and does not prevent to continue to the following and the result to be accumulated as if I haven't matched the condition!

```
(defn my-func [my-map src]
  (reduce (fn [acc [k v]] ; on cond I want to stop look on [k v] pairs and exit reuction and even my-func !!! 
    (assoc acc (key value))) (empty src) my-map))

```

What I expect is a way to terminate early with, say an empty value as result.