let constant fmt = function
  | ConstInt n ->
      fprintf fmt "%s" n
  | ConstBool b ->
      fprintf fmt "%b" b
  | ConstUnit ->
      fprintf fmt "void"
  | ConstFloat f ->
      fprintf fmt "%s" f