-- | Takes an Assignment, a list of reviewer identifiers and a
-- | list of reviewee identifiers and assigns N reviewees for each
-- | reviewer. It makes sure that a user never reviews themselves.
-- | The reviewer is assigned the reviews with the provided role.
assignNReviews :: Assignment -> [UserIdentifier]
    -> [UserIdentifier]
    -> Int
    -> ReviewRole
    -> IO [ReviewAssignment]
assignNReviews _ [] _ _ _ = return []
assignNReviews :: Assignment -> [UserIdentifier]
    -> [UserIdentifier]
    -> Int
    -> ReviewRole
    -> IO [ReviewAssignment]
assignNReviews _ [] _ _ _ = return []
assignNReviews _ [] _ _ _ = return []