/// Inspects the result of a service call to determine whether the outcome
/// should be treated as a *server error* for concurrency-control purposes.
///
/// By default ([`DefaultClassifier`]), any `Err` variant is considered a server
/// error. Implement this trait to distinguish client errors, expected failures,
/// or successful-but-bad responses (e.g. HTTP 503) from true server errors.
/// Blanket impl: any closure `Fn(&Result<T, E>) -> bool` works as a classifier.
/// The default classifier: treats every `Err` as a server error.
///
/// This preserves the original behavior where `result.is_err()` was used
/// directly.
;