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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

///|
pub extend TypeAttributes with Default::{default}

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

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

///|
pub extend ValueAttributes with Default::{default}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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