the only case I can see when LL could be better is...
# announcements
c
the only case I can see when LL could be better is adding element to a list under lock `o.withLock { ll.add(something) }`: in this case we know it is slower but pause is predictable (unless GC) while AL could be very fast or very slow