let constant fmt = function
  | ConstInt n -> pp_print_string fmt n
  | ConstBool b -> pp_print_string fmt (if b then "true" else "false")
  | ConstUnit -> pp_print_string fmt "void"
  | ConstFloat f -> pp_print_string fmt f