$newline never
$forall slot <- allTimeSlots $if Set.member slot timeSlotsDefaultDisplay || not (timeSlotIsEmpty slot)
_{MsgScheduleTableHeadTime} $forall day <- week $if is _Just (Map.lookup day events) ^{formatTimeW SelFormatDate day} $if elem day holidays \ (_{MsgScheduleWeekHoliday})
^{formatTimeSlotW slot} $forall day <- week $maybe dayEvents <- Map.lookup day events $maybe slotEvents <- Map.lookup slot dayEvents
$forall (scheduleEntry, slotAssociation) <- slotEvents
$case scheduleEntry $of ScheduleCourseEvent{sceCourse=Entity _ Course{courseName},sceType,sceRoom,sceShowRoom,sceOccurrence} #{CI.original courseName}: #{CI.original sceType} # $if slotAssocIsCont slotAssociation (_{MsgScheduleWeekSlotIsCont})
$if sceShowRoom $maybe room <- sceRoom _{MsgScheduleRoom}: ^{roomReferenceWidget room}
^{formatEitherOccurrenceW sceOccurrence} $of ScheduleTutorial{stCourse=Entity _ Course{courseName},stName,stType,stRoom,stShowRoom,stOccurrence} #{CI.original courseName}: #{stName} # ( #{CI.original stType} $if slotAssocIsCont slotAssociation , _{MsgScheduleWeekSlotIsCont} )
$if stShowRoom $maybe room <- stRoom _{MsgScheduleRoom}: ^{roomReferenceWidget room}
^{formatEitherOccurrenceW stOccurrence} $of ScheduleExamOccurrence{seoCourse=Entity _ Course{courseName},seoExamName,seoRooms,seoStart,seoEnd} #{CI.original courseName}: #{seoExamName} # $if slotAssocIsCont slotAssociation (_{MsgScheduleWeekSlotIsCont})
$case Set.toList seoRooms $of [] $of [(mRoom, showRoom)] $if showRoom $maybe room <- mRoom _{MsgScheduleRoom}: ^{roomReferenceWidget room}
$of more _{MsgScheduleRooms}: # $forall (idx,(mRoom,showRoom)) <- indexedList more $if showRoom $maybe room <- mRoom ^{roomReferenceWidget room} $if idx < pred (length more) ; #
_{MsgScheduleOccur}: # $if Just (utctDay seoStart) == fmap utctDay seoEnd ^{formatTimeRangeW SelFormatTime seoStart seoEnd} $else ^{formatTimeRangeW SelFormatDateTime seoStart seoEnd}