Module Data.Make

Parameters

module P : Phase.S
module Ps : Players.S

Signature

module Phase = P
type phase = Phase.t
module Players = Ps
type players = Players.t
type rolemap = bool Players.Player.Roles.Role.Map.t
type nonrec t = (P.t, Ps.t) t
type nonrec initial = (P.t, bool Ps.Player.Roles.Role.Map.t) initial
val initial : ?starting_phase:phase -> roles -> initial
exception PlayerRolesDisjoint of Players.t
exception PlayerRolesInvalid of Players.t
val create : initial -> players -> t
val next : t -> t
val starting_phase : initial -> phase
val rolemap : initial -> rolemap
val phase : t -> phase
val players : t -> players