ᅠ
Ты можешь библиотеку писать. У нее есть внешний интерфейс, который будут использовать, и ты не имеешь права полагаться на то, что твою библиотеку будут использовать так, как задумал ты. Она может вызываться из нетипизированного кода, или ез применения стат анализа. Вход ты должен проверять во всем, что не имеет свойства приватного.
Если я пишу ТС-библиотеку, то я подразумеваю, что она юзается в ТС
Кроме "данных извне" есть ещё и работа частей кода между собой. И кто-то может не касаться ввода вообще, а получать его уже отвалидированый из другой части системы/с другого уровня, например. И вот в этом взаимодействии описание типов и следующая из этого самодокументированность позволяет
1) Повысить DX
2) Обезопаситься от ошибок времени разработки - если ты передал не то и не туда, твой код просто не скомпилируется.
3) То же относится и к библиотекам. Если они на ТС и для ТС - проверять ничего не нужно, код просто не соберётся, даже если увидит, что ты передаешь any туда, где нужно что-то конкретное
4) Чем больше, длиннее и шире проект и чем больше людей над ним работают, тем это важнее
И самое во всём это важное, с моей точки зрения (и в чём был изначальный поинт) - это не стоит ничего. Ноль рублей ноль копеек. Просто пишешь тип не в жсдоке, а ближе к самому коду и всё просто работает.