sig   type 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 : GdataComments.Comments.link_t list;         title : GdataAtom.Title.t;         category : GdataAtom.Category.t;         extensions : GdataCore.xml_data_model list;       }       val empty : GdataComments.Comments.Entry.t       val of_xml_data_model :         GdataComments.Comments.Entry.t ->         GdataCore.xml_data_model -> GdataComments.Comments.Entry.t       val to_xml_data_model :         GdataComments.Comments.Entry.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 : GdataComments.Comments.Feed.t;   }   val empty : GdataComments.Comments.t   val of_xml_data_model :     GdataComments.Comments.t ->     GdataCore.xml_data_model -> GdataComments.Comments.t   val to_xml_data_model :     GdataComments.Comments.t -> GdataCore.xml_data_model list   val parse_comment_entry :     GdataCore.xml_data_model -> GdataComments.Comments.Entry.t   val comment_entry_to_data_model :     GdataComments.Comments.Entry.t -> GdataCore.xml_data_model end