The reason I say its a performance enhancement is that you could just
as easily write a projection to make your own $all (of course there is
a perf hit here).
I think the code is pretty involved. Internally (and through apis)
there are completely different APIs for reading from all as opposed to
from a stream. Also the checkpoint format is different (long/long
position) vs int on stream. It changes quite a bit. We have always
said we would eventually do it but ...
Also in 3.4.0 there is a http interface for competing consumers.