pub(crate) fn run_transforms<F, A>(
    scx: &StatementContext<'_>,
    f: F,
    ast: &mut A
) -> Result<(), PlanError>where
    F: for<'ast> FnMut(&mut dyn VisitMut<'ast, Aug>, &'ast mut A),