ocaml учебник
Статически типизированные языки обычно вынуждают писать типы переменных по любому поводу. Но уже далеко