sig
  type symbol = string
  type caml_code = string
  type template_node =
    Template.template_node =
      Tmpl_Text of string
    | Tmpl_Block of caml_code * template_node list
    | Tmpl_Iter of symbol * caml_code * template_node list
    | Tmpl_If of caml_code * template_node list
    | Tmpl_For of symbol * caml_code * template_node list
    | Tmpl_Caml of caml_code
  and template =
    Template.template =
      Tmpl of caml_code option * template_node list
end