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