TakeUntil - зачем? Сложно ! поставить?
Except - а если у меня кастомный компаратор? И это можно было бы просто сделать с помощю where
OrEmpty - юзкейс у этого есть?
Reverse и так есть
FirstOrNull зочем? FirstOrDefault и так возвращает дефолтное значение, которое для reference типов null, а для struct свое значение, твой метод может вызвать ошибки при использовании с не nullable типами
Зачем использовать UnityEngine.Random? Но да ладно
IsEmpty тоже не ясно зачем