Другое дело, что компилятор скажет вам, если что-то не так. Если компилятор не жалуется, вы знаете, что все типы имеют смысл и что вы рассмотрели каждый случай в своем выражении match
. Система типов OCaml исключительно хороша в нахождении проблем, оставаясь на вашем пути. Обратите внимание, что вам не приходилось определять какие-либо типы самостоятельно в этом небольшом примере - компилятор выведет, что тип data
равен string option
.
Многие проблемы, которые компилятор не может обнаружить, это те, которые мы не можем обнаружить. Мы не можем сказать, является ли отображение None
пустой строкой тем, чем вы действительно хотели заниматься, хотя это кажется очень разумным.