So, I think I've finally figured out how to change core.rrb-vector, or another similar library, to guarantee its O(log N) performance of operations like subvec and concatenate, so happy about that.
If conj/peek/pop all still gave O(log_{32} N) guaranteed run time for accessing the end of the vector, any good suggestions for what the corresponding operations on the beginning of the vector ought to be called?
I think the finger tree library has some prior art
I think it defines conjl and conjr?
Yeah, looking at that right now. peek -> first, of course, and pop -> rest makes sense. conj -> conjl ("conj left") is what finger-tree uses