Static arrays should be usable by appender. Very frequently, one uses a static buffer, which will work as long as the buffer can hold the data, and then will start appending onto the heap when more data is needed. This provides a very good level of optimization where you may not know exactly how much space is needed, but you have a general idea of the common case.

In any case, supporting slices automatically supports passing in static arrays, since you can just slice it (at least today). I'm unsure of the correct answer. I think for now, just make the changes so the code is correct, and we can talk about breaking code in a different PR.