type t = Int of int | Bool of bool | Float of float

let type_of = function
  | Int _ -> Type.Int
  | Bool _ -> Type.Bool
  | Float _ -> Type.Float

let to_string = function
  | Int i -> string_of_int i
  | Bool b -> string_of_bool b
  | Float f -> string_of_float f

let pp fmt const = Format.fprintf fmt "%s" (to_string const)
