let create ?desc data_of_string string_of_data =
let wrappers = {
CF.to_raw = (fun a -> CF.string_wrappers.CF.to_raw (string_of_data a)) ;
CF.of_raw = (fun s -> data_of_string (CF.string_wrappers.CF.of_raw s));
}
in
create_from_cf_wrappers ?desc wrappers