Or-Muster in Haskell

In OCaml war ich es gewohnt, Code zu schreiben, der so aussah:

let combine o1 o2 = match o1, o2 with
    | Valid, Invalid | Invalid, Valid -> Invalid
    | _ -> ...

Ich habe keinen Weg gefunden zu schreibenoder-Muster in Haskell und ich vermisse es wirklich. Hat jemand eine Lösung?