$# Display Rating, expects
$#  sub :: Submission
$#  submissionRatingDone :: Submission -> Bool
$#  submissionRatingPoints :: Maybe points

$if submissionRatingDone sub
  $maybe (grading, points) <- mTuple (preview _grading sheetType) submissionRatingPoints
    $case grading
      $of Points{..}
        _{MsgAchievedOf points maxPoints}
      $of PassPoints{maxPoints}
        $if fromMaybe False (gradingPassed grading points)
          _{MsgPassed}, _{MsgAchievedOf points maxPoints}
        $else
          _{MsgNotPassed}, _{MsgAchievedOf points maxPoints}
      $of PassBinary
        $if fromMaybe False (gradingPassed grading points)
          _{MsgPassed}
        $else
          _{MsgNotPassed}
    , _{SheetTypeHeader sheetType}
  $nothing
    #{hasTickmark True}
