Minor quibble, but I think 
```clj
(if delete-all?
 (do ...)
 (do ...))
```

is better, since you only need to check the condition once but no big deal