functor (Link : GdataAtom.AtomData->   sig     type link_t = Link.t     module Entry :       sig         type t = {           etag : string;           kind : string;           authors : GdataAtom.Author.t list;           content : GdataAtom.Content.t;           contributors : GdataAtom.Contributor.t list;           id : GdataAtom.atom_id;           published : GdataAtom.atom_published;           updated : GdataAtom.atom_updated;           links : link_t list;           title : GdataAtom.Title.t;           category : GdataAtom.Category.t;           extensions : GdataCore.xml_data_model list;         }         val empty : t         val of_xml_data_model : t -> GdataCore.xml_data_model -> t         val to_xml_data_model : t -> GdataCore.xml_data_model list       end     module Feed :       sig         type entry_t = Entry.t         type link_t = link_t         type extensions_t         type t = {           etag : string;           kind : string;           authors : GdataAtom.Author.t list;           categories : GdataAtom.Category.t list;           contributors : GdataAtom.Contributor.t list;           generator : GdataAtom.Generator.t;           icon : GdataAtom.atom_icon;           id : GdataAtom.atom_id;           updated : GdataAtom.atom_updated;           entries : entry_t list;           links : link_t list;           logo : GdataAtom.atom_logo;           rights : GdataAtom.Rights.t;           subtitle : GdataAtom.Subtitle.t;           title : GdataAtom.Title.t;           totalResults : GdataAtom.opensearch_totalResults;           itemsPerPage : GdataAtom.opensearch_itemsPerPage;           startIndex : GdataAtom.opensearch_startIndex;           extensions : extensions_t;         }         val etag : (t, string) GapiLens.t         val kind : (t, string) GapiLens.t         val authors : (t, GdataAtom.Author.t list) GapiLens.t         val categories : (t, GdataAtom.Category.t list) GapiLens.t         val contributors : (t, GdataAtom.Contributor.t list) GapiLens.t         val generator : (t, GdataAtom.Generator.t) GapiLens.t         val icon : (t, GdataAtom.atom_icon) GapiLens.t         val id : (t, GdataAtom.atom_id) GapiLens.t         val updated : (t, GdataAtom.atom_updated) GapiLens.t         val entries : (t, entry_t list) GapiLens.t         val links : (t, link_t list) GapiLens.t         val logo : (t, GdataAtom.atom_logo) GapiLens.t         val rights : (t, GdataAtom.Rights.t) GapiLens.t         val subtitle : (t, GdataAtom.Subtitle.t) GapiLens.t         val title : (t, GdataAtom.Title.t) GapiLens.t         val totalResults : (t, GdataAtom.opensearch_totalResults) GapiLens.t         val itemsPerPage : (t, GdataAtom.opensearch_itemsPerPage) GapiLens.t         val startIndex : (t, GdataAtom.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     type t = {       countHint : int;       href : string;       readOnly : bool;       rel : string;       commentFeed : Feed.t;     }     val empty : t     val of_xml_data_model : t -> GdataCore.xml_data_model -> t     val to_xml_data_model : t -> GdataCore.xml_data_model list     val parse_comment_entry : GdataCore.xml_data_model -> Entry.t     val comment_entry_to_data_model : Entry.t -> GdataCore.xml_data_model   end