Instead of 

```clj
(every? true? (for [item deleted-items]
                     (if-not (some #{item} all-items) true)))
```

Since sets are functions (if you pass it an argument it returns whether the arg is in the set), I believe it would be simpler to write 

```clj
(not (some (set all-items) deleted-items)
```