shared関数にすると、sharedオブジェクトからしか参照できなくなるから、
普通のオブジェクトにしたい時にpopとかpushとかできなくなる。
Listとは分けて新しく作った方がいいかも。