pub(crate) trait Rewrite {
// Required method
fn rewrite(
&self,
context: &RewriteContext<'_>,
shape: Shape,
) -> Option<String>;
// Provided method
fn rewrite_result(
&self,
context: &RewriteContext<'_>,
shape: Shape,
) -> Result<String, RewriteError> { ... }
}