pub trait LayerTransform<S> {
// Required methods
fn from_new_span(attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>) -> Self;
fn from_on_record(span: &Id, values: &Record<'_>, ctx: Context<'_, S>) -> Self;
fn from_on_follows_from(span: &Id, follows: &Id, ctx: Context<'_, S>) -> Self;
fn from_on_event(event: &Event<'_>, ctx: Context<'_, S>) -> Self;
fn from_on_enter(id: &Id, ctx: Context<'_, S>) -> Self;
fn from_on_exit(id: &Id, ctx: Context<'_, S>) -> Self;
fn from_on_close(id: Id, ctx: Context<'_, S>) -> Self;
fn from_on_id_change(old: &Id, new: &Id, ctx: Context<'_, S>) -> Self;
}