     drop "Months are indexed starting at 1" ;
 
 <PRIVATE
+
 : check-month ( n -- n )
     dup zero? [ not-a-month ] when ;
+
 PRIVATE>
 
 : month-names ( -- array )


: day-name ( n -- string ) day-names nth ;

: day-abbreviations2 ( -- array )
    { "Su" "Mo" "Tu" "We" "Th" "Fr" "Sa" } ;

: day-abbreviation2 ( n -- string )
    day-abbreviations2 nth ;

: day-abbreviations3 ( -- array )
    { "Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat" } ;

: day-abbreviation3 ( n -- string )
    day-abbreviations3 nth ;

: average-month ( -- ratio ) 30+5/12 ; inline
: months-per-year ( -- integer ) 12 ; inline

: month-name ( n -- string )
    check-month 1- month-names nth ;

CONSTANT: month-abbreviations
    {
        "Jan" "Feb" "Mar" "Apr" "May" "Jun"
        "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
    }

: month-abbreviation ( n -- string )
    check-month 1- month-abbreviations nth ;
