ну система типов ортогональна апи, в расте такая удобная экосистема не потому что есть типы, а потому что маленькое комьюнити которое выписывает все инварианты и не всегда только типами(посмотри на стд - сплошной ансейф)
я не знаю чего ты начал про апи потому что речь не о каком то апи либы, а о живом коде и типах твоей аппликации, которые через неделю кодинга засираются полностью дырявыми наллабл говнодиктами которые чтобы чекнуть нужно вписать десяток условий.
энивей как раз апи и типы это максимально связаные вещи. обычно ты проектируешь либу которая хочет свои типы в качестве аргументов. когда типов нет ты проектируешь либу которая вместо типов работает в туплами и диктами. как пример - в динамике все попытки запилить тип для урлов и путей ни к чему не приводят - потому что механизма into нет, потому что в динамике ты просто не знаешь что это тип и хочешь сразу brrr(url) а не brrr(url.raw_value)