pub fn with_ast_view<'a, T>(
    info: ProgramInfo<'_>,
    with_view: impl FnOnce(Program<'a>) -> T
) -> T