Deleteat!(trues(3), [true, false, false]) got "ArgumentError: indices must be unique and sorted"

It is a matter of taste whether the API should enforce usage that conforms to the performance model of the datastructure, or just fall back to something terribly slow. There are examples for both approaches in Base and commonly used packages.

I would argue that when using another approach gives you at least an O(n) relative speedup, omitting/not implementing the slow method is fine. As a user, I would rather learn about my code being suboptimal and refactor, than have a generic version which takes an hour instead of one second for medium-sized data. As @DNF said, deleting elements from bitarrays is just going to be slow.