(* Liturgical colours. Shared across Roman rites (spec ยง2.1): not rite-parametric, because EF and OF use the same six. *) type t = White | Red | Green | Violet | Rose | Black [@@deriving sexp] let all = [ White; Red; Green; Violet; Rose; Black ] let to_string = function | White -> "white" | Red -> "red" | Green -> "green" | Violet -> "violet" | Rose -> "rose" | Black -> "black" let of_string = function | "white" -> Some White | "red" -> Some Red | "green" -> Some Green | "violet" -> Some Violet | "rose" -> Some Rose | "black" -> Some Black | _ -> None