sig
  type tvalue =
      Tnull
    | Tstr of string
    | Tint of int
    | Tfloat of float
    | Tbool of bool
    | Tlist of CamlTemplate.Model.tlist
    | Thash of CamlTemplate.Model.thash
    | Tfun of CamlTemplate.Model.tfun
  and tlist = CamlTemplate.Model.tvalue list
  and thash = (string, CamlTemplate.Model.tvalue) Hashtbl.t
  and tfun = args:CamlTemplate.Model.tvalue list -> CamlTemplate.Model.tvalue
  exception Tfun_error of string
end