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

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

///|
pub extend Token with Show::{output, to_string}

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

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

///|
pub extend QuirksMode with Show::{output, to_string}

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

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

///|
pub extend Attribute with Show::{output, to_string}

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

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

///|
pub extend State with Show::{output, to_string}

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

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

///|
pub extend SourcePosition with Show::{output, to_string}

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

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

///|
pub extend ParseErrorCode with Show::{output, to_string}

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

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

///|
pub extend ParseError with Show::{output, to_string}

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

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

///|
pub extend Namespace with Show::{output, to_string}

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

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

///|
pub extend Element with Show::{output, to_string}

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

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

///|
pub extend Node with Show::{output, to_string}

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

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

///|
pub extend Document with Show::{output, to_string}