pub mod card;
pub mod turn;

/// These are uniquely assigned to players and *never* change.
// (Thus they should *not* be present in BoardState)
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlayerId(ulid::Ulid);

/// The kinds of actions that exist
pub enum ActionPayload {}

/// Represents an action that a player may take
struct Action {
    payload: ActionPayload,
    player: PlayerId,
}

#[cfg(test)]
mod tests {}