removeFirst
は実質的にほしいのは popFirst
であるケースが多くてremoveFirst
や removeLast
はいらない。removeLast
が popLast
で Optional
に包むオーバーヘッドを避けるためにあるというのはまだわからんでもないけど、 removeFirst
は意味不明。removeFirst
は O(n) のはずだし、それと比べたら Optional
に包むオーバーヘッドなんて微々たるものだからほしいのは popFirst
だ。Array
をキューとして使い出す人が出て来るからpopFirst
を封じてるんだったらまだわかる。removeFirst
もいらないと思う。ArraySlice
なら O(1) だから、 ArraySlice
に popFirst
があれば良い?