On the naming of functions of the form
append(<label>: Int, initializingWith: (Output{Raw}Span) -> Void) -> Void
(omitting throws for brevity.)
We already have such functions on Array, ContiguousArray and Data. The label chosen there was addingCapacity, which does not work for fixed-capacity containers such as RigidArray or OutputSpan. We would prefer to have a label that works for all situations.
It is useful to note that we expect OutputSpan to conform to many of the same protocols as RigidArray, and that in time it should have a similar function as proposed by SE-0527 for insertions:
insert(<label>: Int, at index: Int, initializingWith: ...)
Personally, I like upTo n: Int, since it works for dynamic and rigid containers, append and insert operations. It's less strict than RigidArray proposes for insert's label (where under-filling means moving the tail elements twice,) but in every case there will be slight behavioural differences between functions of the same name; those need to be described by documentation. That is probably fine! Dynamic data structures can reallocate and will not trap (Array, Data & UniqueArray,) "rigid" data structures will trap on capacity overflow (OutputSpan & RigidArray,) and insertion operations have a cleanup cost when the closure under-fills that append operations do not have.