pub trait SpanExt: Copy {
// Required method
fn into_pm2_span(self) -> Span;
// Provided methods
fn new_ident<S>(self, s: S) -> Ident
where S: AsRef<str> { ... }
fn as_token<Token>(self) -> Token
where Token: FromSpan { ... }
}