let get_block = fun ts -> function
| { bd_id = "block";
bd_args = [];
bd_ocaml = Some ocaml; } ->
T.Tmpl_Block (ocaml, ts)
| { bd_id = "iter";
bd_args = ["name", name];
bd_ocaml = Some ocaml; } ->
T.Tmpl_Iter (name, ocaml, ts)
| { bd_id = "for";
bd_args = ["name", name];
bd_ocaml = Some ocaml; } ->
T.Tmpl_For (name, ocaml, ts)
| { bd_id = "if";
bd_args = [];
bd_ocaml = Some ocaml; } ->
T.Tmpl_If (ocaml, ts)
| _ ->
raise Invalid_template