let pp_op = function
    | Arithmetic(an_op) -> Printf.sprintf "Arithmetic(%s)" (pp_arith an_op)
    | NumTest(an_op)    -> Printf.sprintf "NumTest(%s)" (pp_numtest an_op)
    | CombTest(an_op)   -> Printf.sprintf "CombTest(%s)" (pp_combtest an_op)