Если возвращаемый тип функции утвердительный type guard, значит это boolean?
Вопрос такой. Если используется type guard как возвращаемый тип функции, то это значит что его тип всегда будет булевой?
Пример:
function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
Еще раз - если всегда в возвращаемый части функции прописана конструкция через is, то я так понял что это функция всегда должно вернуть булево значение. Верно ли это?