make Flatten() less memory allocations

こうするとappendで再確保しなくなるはず、というコンセプトです。