use Debug;
/// A situation is a snapshot of the world at a point in time.
///
/// Situations are immutable — every action produces a NEW situation.
/// The old situation is preserved for history/undo.
///
/// Implement this for your domain state (chess board, elevator positions,
/// case phase, etc.)