_{MsgSubmission} #{display cid} $maybe Entity _ User{userDisplayName} <- corrector
_{MsgRatingBy} #{display userDisplayName} $maybe time <- submissionRatingTime
_{MsgRatingTime} ^{formatTimeW SelFormatDateTime time} $maybe points <- submissionRatingPoints $maybe grading <- preview _grading sheetType $case grading $of Points{..}
#{sheetTypeDesc} _{MsgAchievedOf points maxPoints} $of PassPoints{..}
#{sheetTypeDesc} $if fromMaybe False (gradingPassed grading points) _{MsgPassed} $else _{MsgNotPassed}
_{MsgAchievedPassPoints} _{MsgPassAchievedOf points passingPoints maxPoints} $of PassBinary
#{sheetTypeDesc} $if fromMaybe False (gradingPassed grading points) _{MsgPassed} $else _{MsgNotPassed} $maybe comment <- ratingComment
_{MsgRatingComment} #{comment}