(** The Mass preface (Missale Romanum, Rubricae Generales, Caput XVII("De Ritibus servandis in celebratione Missae"), "H) De praefatione", RG 482-499; docs/research/LT.txt, grep "praefatione dicitur quae cuique"). RG 482 gives the resolution chain in full: {i "Praefatio dicitur quae cuique Missae propria est; qua deficiente, dicitur praefatio de Tempore, secus communis"} -- the Mass's own PROPER preface; failing that, the SEASONAL ("de Tempore") one; failing that, the COMMON. RG 483: {i "Nulla commemoratio, in Missa occurrens, praefationem propriam inducit"} -- a commemoration never induces its own proper preface, which is why {!Rite_ef.Rubrics_ef.preface} (the one rite that implements this so far) reads only the day's OBSERVED celebration, never its commemorations, the identical discipline {!Rite.t.creed}'s own RG 476(e) already established. RG 484-497 enumerate the fourteen named propers -- Nativity, Epiphany, Lent, Holy Cross, [the Chrism Mass, out of scope: see the .ml's own N/A note], Easter, Ascension, the Sacred Heart, Christ the King, the Holy Spirit, the Trinity, the Blessed Virgin Mary, St Joseph, the Apostles. RG 498 is the residual Common; RG 499 the Requiem. A KERNEL type, not a rite-specific one (the same placement as {!Colour}, {!Subject}, {!Mass_formulary}): {!Liturgical_day.t} is parameterised only over a rite's season/rank, so any field it carries generically must live here, even though only the EF rite constructs a value of it today -- CLAUDE.md's own "generalise when forced, not speculatively" stance, already the precedent {!Mass_formulary} follows. *) type t = | Nativity (** RG 484 *) | Epiphany (** RG 485 *) | Lent (** RG 486, "de Quadragesima" *) | Holy_cross (** RG 487, "de sancta Cruce" *) | Easter (** RG 489, "paschalis" *) | Ascension (** RG 490 *) | Sacred_heart (** RG 491, "de Ss.mo Corde Iesu" *) | Christ_the_king (** RG 492, "de D. N. Iesu Christo Rege" *) | Holy_spirit (** RG 493, "de Spiritu Sancto" *) | Trinity (** RG 494, "de Ss.ma Trinitate" *) | Bvm (** RG 495, "de beata Maria Virgine" *) | St_joseph (** RG 496, "de S. Ioseph" *) | Apostles (** RG 497, "de Apostolis" *) | Common (** RG 498, "communis" -- the residual when nothing else applies *) | Requiem (** RG 499, "defunctorum" *) [@@deriving sexp] val all : t list val to_string : t -> string val of_string : string -> t option