(* RG 482-499 -- see the .mli for the rubric quoted in full and the placement rationale. Argument-less variants only, so no [Sexplib0.Sexp_conv] open is needed -- see CLAUDE.md's own gotcha note. *) type t = | Nativity | Epiphany | Lent | Holy_cross | Easter | Ascension | Sacred_heart | Christ_the_king | Holy_spirit | Trinity | Bvm | St_joseph | Apostles | Common | Requiem [@@deriving sexp] let all = [ Nativity; Epiphany; Lent; Holy_cross; Easter; Ascension; Sacred_heart; Christ_the_king; Holy_spirit; Trinity; Bvm; St_joseph; Apostles; Common; Requiem ] let to_string = function | Nativity -> "nativity" | Epiphany -> "epiphany" | Lent -> "lent" | Holy_cross -> "holy-cross" | Easter -> "easter" | Ascension -> "ascension" | Sacred_heart -> "sacred-heart" | Christ_the_king -> "christ-the-king" | Holy_spirit -> "holy-spirit" | Trinity -> "trinity" | Bvm -> "bvm" | St_joseph -> "st-joseph" | Apostles -> "apostles" | Common -> "common" | Requiem -> "requiem" let of_string = function | "nativity" -> Some Nativity | "epiphany" -> Some Epiphany | "lent" -> Some Lent | "holy-cross" -> Some Holy_cross | "easter" -> Some Easter | "ascension" -> Some Ascension | "sacred-heart" -> Some Sacred_heart | "christ-the-king" -> Some Christ_the_king | "holy-spirit" -> Some Holy_spirit | "trinity" -> Some Trinity | "bvm" -> Some Bvm | "st-joseph" -> Some St_joseph | "apostles" -> Some Apostles | "common" -> Some Common | "requiem" -> Some Requiem | _ -> None