///|
/// Human-readable diagnostics for command-line/UI presentation; variants remain machine-readable.
pub fn GraphError::message(self : GraphError) -> String {
match self {
InvalidXml(message) => "invalid XML: \{message}"
InvalidGraph(path~, reason~) => "\{path}: \{reason}"
LimitExceeded(resource~, limit~) =>
"resource limit exceeded: \{resource} (limit \{limit})"
Unsupported(path~, feature~) => "\{path}: unsupported \{feature}"
}
}