sig   module type Comments =     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   module Make :     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 end