Это я к тому, что во всяких там ML-ях типы действительно могут плодиться на каждом шагу. Например, каждое инстанциирование модуля в OCaml -- бах, куча типов. Но на практике можно знать (держать в голове) лишь малую часть их -- то, что с чем реально взаимодействуем в коде. И к такому привыкаешь.