A compiled role: its name, the factor that fills it, and its flags. Internal.
@type t() :: %Cite.Policy.Role{ distinct: boolean(), factor: atom(), name: atom(), optional: boolean() }