В OCaml я использовал для написания кода, который выглядел так:
let combine o1 o2 = match o1, o2 with
| Valid, Invalid | Invalid, Valid -> Invalid
| _ -> ...
Я не нашел способ написать или-шаблоны в Haskell, и я действительно скучаю по нему. У кого-нибудь есть решение?