sig
  type kind = Bool | Int | Float | String | List
  exception Duplicate_definition
  val register : string -> Dtools.Var.kind -> unit
  exception Type_error of string * Dtools.Var.kind
  val set_bool : string -> bool -> unit
  val set_int : string -> int -> unit
  val set_float : string -> float -> unit
  val set_string : string -> string -> unit
  val set_list : string -> string list -> unit
end