Because libqaul doesn’t implement recipient groups it’s up to a
service to create useful categorisations for groups of users.
This means that a service might send the same message to different
users, that are then receiving technically different messages.
This can cause all sorts of issues for services because now the
database is keeping track of a message many times (for each user
it was sent to).
This is what this type aims to circumvent: a message id can be
randomised during delivery, or fixed as a group to ensure that a
set of messages are all assigned the same Id.
This comes with some caveats: when inserting into the
database, the message Id will already exist, and so further
messages will not be stored. If you are using the grouped
constraint on an unequal message set (meaning that payloads
differ), this will result in data loss!