Module type Roles.S

module Role : Role.S
type role = Role.t
type role_kind = Role.kind
type role_alignment = Role.alignment
type roles = role list
val collect : unit -> roles
val random : ?roles:roles -> unit -> role
val of_kind : ?roles:roles -> role_kind -> roles
val of_alignment : ?roles:roles -> role_alignment -> roles
module Set : sig ... end
module Group : Group.S with type role = Role.t and type role_kind = Role.kind and type role_alignment = Role.alignment
type group = Group.t