| Ast.Over (t1, t2) -> Ast.Over (k t1, k t2)
| Ast.Atop (t1, t2) -> Ast.Atop (k t1, k t2)
| Ast.Frac (t1, t2) -> Ast.Frac (k t1, k t2)
+ | Ast.InfRule (t1, t2, t3) -> Ast.InfRule (k t1, k t2, k t3)
| Ast.Sqrt t -> Ast.Sqrt (k t)
| Ast.Root (arg, index) -> Ast.Root (k arg, k index)
| Ast.Break -> Ast.Break
| Ast.Box (kind, terms) -> Ast.Box (kind, List.map k terms)
| Ast.Group terms -> Ast.Group (List.map k terms)
+ | Ast.Mstyle (l, term) -> Ast.Mstyle (l, List.map k term)
let visit_magic k = function
| Ast.List0 (t, l) -> Ast.List0 (k t, l)