Looking at the source code for every? makes clear why
every?
(every? string? []) => true
This is because every?
Or better ask why should (every? string? []) yield false? Both variants lead to wrong answer in certain requirements. But obviously it's better than get an error on empty sequence.
(every? string? [])
false