Submission                        -- submission for marking by a CourseParticipant
    sheet           SheetId
    ratingPoints    Points  Maybe -- "Just" does not mean done; not yet visible to participant
    ratingComment   Text    Maybe -- "Just" does not mean done; not yet visible to participant
    ratingBy        UserId  Maybe -- assigned corrector
    ratingAssigned  UTCTime Maybe -- time when corrector was assigned
    ratingTime      UTCTime Maybe -- "Just" here indicates done; marking is made visible to participant
    deriving Show Generic
SubmissionEdit                    -- user uploads new version of their submission
    user            UserId        -- track id, important for group submissions
    time            UTCTime
    submission      SubmissionId
SubmissionFile                    -- files that are part of a submission
    submission      SubmissionId
    file            FileId
    isUpdate        Bool          -- is this the file updated by a corrector (original will always be retained)
    isDeletion      Bool          -- only set if isUpdate is also set, but file was deleted by corrector
    UniqueSubmissionFile file submission isUpdate
    deriving Show
SubmissionUser                    -- which submission belongs to whom
    user            UserId
    submission      SubmissionId
    UniqueSubmissionUser user submission -- multiple users may share same submission, in case of (ad-hoc) submission groups
SubmissionGroup                   -- pre-defined submission groups; some courses only allow pre-defined submission groups
    course          CourseId
    name            Text Maybe
SubmissionGroupEdit               -- who edited a submissionGroup when?
    user            UserId
    time            UTCTime
    submissionGroup SubmissionGroupId
SubmissionGroupUser              -- Registered submission groups, just for checking upon submission, but independent of actual SubmissionUser
    submissionGroup     SubmissionGroupId
    user                UserId
    UniqueSubmissionGroupUser submissionGroup   user
