functor (Entry : AtomData) (Link : AtomData) (Extensions : AtomData->   sig     type entry_t = Entry.t     type link_t = Link.t     type extensions_t = Extensions.t     type t = {       etag : string;       kind : string;       authors : Author.t list;       categories : Category.t list;       contributors : Contributor.t list;       generator : Generator.t;       icon : atom_icon;       id : atom_id;       updated : atom_updated;       entries : entry_t list;       links : link_t list;       logo : atom_logo;       rights : Rights.t;       subtitle : Subtitle.t;       title : Title.t;       totalResults : opensearch_totalResults;       itemsPerPage : opensearch_itemsPerPage;       startIndex : opensearch_startIndex;       extensions : extensions_t;     }     val etag : (t, string) GapiLens.t     val kind : (t, string) GapiLens.t     val authors : (t, Author.t list) GapiLens.t     val categories : (t, Category.t list) GapiLens.t     val contributors : (t, Contributor.t list) GapiLens.t     val generator : (t, Generator.t) GapiLens.t     val icon : (t, atom_icon) GapiLens.t     val id : (t, atom_id) GapiLens.t     val updated : (t, atom_updated) GapiLens.t     val entries : (t, entry_t list) GapiLens.t     val links : (t, link_t list) GapiLens.t     val logo : (t, atom_logo) GapiLens.t     val rights : (t, Rights.t) GapiLens.t     val subtitle : (t, Subtitle.t) GapiLens.t     val title : (t, Title.t) GapiLens.t     val totalResults : (t, opensearch_totalResults) GapiLens.t     val itemsPerPage : (t, opensearch_itemsPerPage) GapiLens.t     val startIndex : (t, opensearch_startIndex) GapiLens.t     val extensions : (t, extensions_t) GapiLens.t     val empty : t     val to_xml_data_model : t -> GdataCore.xml_data_model list     val of_xml_data_model : t -> GdataCore.xml_data_model -> t     val parse_feed : GdataCore.xml_data_model -> t   end