//! The decision procedure a bot (or human front end) implements.
use crate::;
/// A decision procedure for playing a turn.
///
/// The engine asks [`choose_action`](Self::choose_action) while rolls
/// remain and [`choose_category`](Self::choose_category) after the third
/// roll, when only scoring is possible — an illegal reroll is
/// unrepresentable there. The trait is object-safe, so tables can mix
/// strategies via `&mut dyn Strategy`.