let list_wrappers wrappers = {
to_raw = (fun l -> Raw.List (List.map wrappers.to_raw l));
of_raw = function
| Raw.List l -> List.map wrappers.of_raw l
| r -> raise (Wrong_type (fun outchan -> Printf.fprintf outchan
"Raw.List expected, got %a\n%!" Raw.to_channel r))
}