Defines the structure of a holiday.
@type category() :: :national | :federal | :regional | :religious | :other
@type country_code() :: atom()
@type region() :: atom()
@type t() :: %Holidex.Holiday{ categories: [category()], country: country_code(), date: Date.t(), description: String.t() | nil, name: String.t(), observance_date: Date.t(), regional_names: %{required(region()) => String.t()}, regions: [region()] | :all }