В большинстве языков программирования понятия «истина/ложь», «значение есть/значения нет» и «успех/ошибка» живут в разных мирах. Для первого существует примитив bool и конструкции if/else , для второго — Option<T> ( Maybe a ), для третьего — Result<T, E> ( Either a b ). У каждого из них свои…