それは設計の視点・方向性の違い
コンテナ/ホルダーとみるならgetで状態が変わらない方が自然だけど
ジェネレータとみるならgetで値を返しつつ状態が変わる(次の値の用意をする)のも自然だ