let search query =
let database = `gene in
let of_xml = parse_entrez_gene_set in
let query_url = esearch_url database query in
(* print_endline query_url ; *)
fetch query_url esearch_answer_of_string >>= fun answer ->
let object_url = efetch_url ~retmode:`xml database answer.ids in
(* print_endline object_url ; *)
fetch object_url (fun x -> x |> tree_of_string |> snd |> of_xml)