Это конечно сработает, но vegetableeeeeeee я бы те не советовал так делать, потом задолбаешься перекастовывать типы из обычного массива, который возвращает 99% функций по работе с массивами. :)
Aetae, особенно неудобно, что коробочные тайпгуарды (например, arr.length > 0) не могут убедить тайпскрипт, что в массиве есть элемент, и надо писать кастомный