///|
pub extend TallyError with Eq::{equal, not_equal}

///|
pub extend TallyError with @debug.Debug::{to_repr}

///|
pub extend Ballot with Eq::{equal, not_equal}

///|
pub extend Ballot with @debug.Debug::{to_repr}

///|
pub extend Beatpath with Eq::{equal, not_equal}

///|
pub extend Beatpath with ToJson::{to_json}

///|
pub extend Beatpath with @debug.Debug::{to_repr}

///|
pub extend SchulzeResult with Eq::{equal, not_equal}

///|
pub extend SchulzeResult with ToJson::{to_json}

///|
pub extend SchulzeResult with @debug.Debug::{to_repr}

///|
pub extend LockedEdge with Eq::{equal, not_equal}

///|
pub extend LockedEdge with ToJson::{to_json}

///|
pub extend LockedEdge with @debug.Debug::{to_repr}

///|
pub extend RankedPairsResult with Eq::{equal, not_equal}

///|
pub extend RankedPairsResult with ToJson::{to_json}

///|
pub extend RankedPairsResult with @debug.Debug::{to_repr}

///|
pub extend Round with Eq::{equal, not_equal}

///|
pub extend Round with ToJson::{to_json}

///|
pub extend Round with @debug.Debug::{to_repr}

///|
pub extend IrvResult with Eq::{equal, not_equal}

///|
pub extend IrvResult with ToJson::{to_json}

///|
pub extend IrvResult with @debug.Debug::{to_repr}

///|
pub extend TieWitness with Eq::{equal, not_equal}

///|
pub extend TieWitness with ToJson::{to_json}

///|
pub extend TieWitness with @debug.Debug::{to_repr}

///|
pub extend IrvPossibilities with Eq::{equal, not_equal}

///|
pub extend IrvPossibilities with ToJson::{to_json}

///|
pub extend IrvPossibilities with @debug.Debug::{to_repr}