immutableなFIFOリストの実装が非効率的だからでは
FIFOを効率的に実装するためにはリスト末尾と先頭への参照を持つ必要があって
複数箇所から参照されてる場合にそれぞれを破壊的変更する必要がありそう