pub trait FreeVariableWithContext<Ctx> {
type O;
// Required method
fn to_tokens(self, ctx: &Ctx) -> (Option<TokenStream>, Option<TokenStream>)
where Self: Sized;
// Provided method
fn uninitialized(&self, _ctx: &Ctx) -> Self::O { ... }
}