pub trait Expand<O> {
// Required method
fn expand<'c>(&self, ctx: GeneralContext<'c>, out: &mut O) -> Result<()>;
}Expand description
Convenience trait providing item.expand()
Implementations of this are often specific to the ExpansionOutput.
Having this as a separate trait,
rather than hanging it off ExpansionOutput,
makes the expansion method more convenient to call.
It also avoids having to make all of these expansion methods
members of the ExpansionOutput trait.