Метод проектирования в функциональном программировании делает незаконные состояния непредсказуемыми. Я всегда вижу, что это выполняется со структурой типов, но как насчет значения типов?
Что делать, если у меня есть строка с именем "Электронная почта", и я хочу, чтобы она сохраняла действительный адрес электронной почты (проверено на какое-то Regex)? Как я могу сделать это функциональным способом (без использования ООП)?