pub trait Inject<'a, Ctx: Context<'a>>: 'a + Send + Sync + Sized {
// Required method
fn inject<A: 'a + Send>(
&self,
fa: Wrapped<'a, Ctx, A>
) -> Wrapped<'a, Ctx, A>;
// Provided method
fn inject_mentionable<A: Mentionable<'a, Ctx>>(
self: Arc<Self>,
a: &A
) -> ParseResultA<'a, A> { ... }
}