What is the difference between CKShare.ParticipantRole.privateUser and CKShare.ParticipantRole.publicUser?
Does this together with CKShare.ParticipantPermission determine whether the participant is able to share the share with others or not, or does ParticipantPermission determine both whether a participant can change the records that are shared as well as whom the participant can share the share with?