sig   module Blog :     sig       module Posts :         sig           type t = { selfLink : string; totalItems : int; }           val selfLink : (GapiBloggerV2Model.Blog.Posts.t, string) GapiLens.t           val totalItems : (GapiBloggerV2Model.Blog.Posts.t, int) GapiLens.t           val empty : GapiBloggerV2Model.Blog.Posts.t           val render :             GapiBloggerV2Model.Blog.Posts.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Blog.Posts.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Blog.Posts.t         end       module Pages :         sig           type t = { selfLink : string; totalItems : int; }           val selfLink : (GapiBloggerV2Model.Blog.Pages.t, string) GapiLens.t           val totalItems : (GapiBloggerV2Model.Blog.Pages.t, int) GapiLens.t           val empty : GapiBloggerV2Model.Blog.Pages.t           val render :             GapiBloggerV2Model.Blog.Pages.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Blog.Pages.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Blog.Pages.t         end       module Locale :         sig           type t = { country : string; language : string; variant : string; }           val country : (GapiBloggerV2Model.Blog.Locale.t, string) GapiLens.t           val language :             (GapiBloggerV2Model.Blog.Locale.t, string) GapiLens.t           val variant : (GapiBloggerV2Model.Blog.Locale.t, string) GapiLens.t           val empty : GapiBloggerV2Model.Blog.Locale.t           val render :             GapiBloggerV2Model.Blog.Locale.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Blog.Locale.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Blog.Locale.t         end       type t = {         description : string;         id : int64;         kind : string;         locale : GapiBloggerV2Model.Blog.Locale.t;         name : string;         pages : GapiBloggerV2Model.Blog.Pages.t;         posts : GapiBloggerV2Model.Blog.Posts.t;         published : GapiDate.t;         selfLink : string;         updated : GapiDate.t;         url : string;       }       val description : (GapiBloggerV2Model.Blog.t, string) GapiLens.t       val id : (GapiBloggerV2Model.Blog.t, int64) GapiLens.t       val kind : (GapiBloggerV2Model.Blog.t, string) GapiLens.t       val locale :         (GapiBloggerV2Model.Blog.t, GapiBloggerV2Model.Blog.Locale.t)         GapiLens.t       val name : (GapiBloggerV2Model.Blog.t, string) GapiLens.t       val pages :         (GapiBloggerV2Model.Blog.t, GapiBloggerV2Model.Blog.Pages.t)         GapiLens.t       val posts :         (GapiBloggerV2Model.Blog.t, GapiBloggerV2Model.Blog.Posts.t)         GapiLens.t       val published : (GapiBloggerV2Model.Blog.t, GapiDate.t) GapiLens.t       val selfLink : (GapiBloggerV2Model.Blog.t, string) GapiLens.t       val updated : (GapiBloggerV2Model.Blog.t, GapiDate.t) GapiLens.t       val url : (GapiBloggerV2Model.Blog.t, string) GapiLens.t       val empty : GapiBloggerV2Model.Blog.t       val render : GapiBloggerV2Model.Blog.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.Blog.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.Blog.t       val to_data_model :         GapiBloggerV2Model.Blog.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.Blog.t     end   module BlogList :     sig       type t = { items : GapiBloggerV2Model.Blog.t list; kind : string; }       val items :         (GapiBloggerV2Model.BlogList.t, GapiBloggerV2Model.Blog.t list)         GapiLens.t       val kind : (GapiBloggerV2Model.BlogList.t, string) GapiLens.t       val empty : GapiBloggerV2Model.BlogList.t       val render :         GapiBloggerV2Model.BlogList.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.BlogList.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.BlogList.t       val to_data_model :         GapiBloggerV2Model.BlogList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.BlogList.t     end   module User :     sig       module Locale :         sig           type t = { country : string; language : string; variant : string; }           val country : (GapiBloggerV2Model.User.Locale.t, string) GapiLens.t           val language :             (GapiBloggerV2Model.User.Locale.t, string) GapiLens.t           val variant : (GapiBloggerV2Model.User.Locale.t, string) GapiLens.t           val empty : GapiBloggerV2Model.User.Locale.t           val render :             GapiBloggerV2Model.User.Locale.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.User.Locale.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.User.Locale.t         end       module Blogs :         sig           type t = { selfLink : string; }           val selfLink : (GapiBloggerV2Model.User.Blogs.t, string) GapiLens.t           val empty : GapiBloggerV2Model.User.Blogs.t           val render :             GapiBloggerV2Model.User.Blogs.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.User.Blogs.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.User.Blogs.t         end       type t = {         about : string;         blogs : GapiBloggerV2Model.User.Blogs.t;         created : GapiDate.t;         displayName : string;         id : string;         kind : string;         locale : GapiBloggerV2Model.User.Locale.t;         selfLink : string;         url : string;       }       val about : (GapiBloggerV2Model.User.t, string) GapiLens.t       val blogs :         (GapiBloggerV2Model.User.t, GapiBloggerV2Model.User.Blogs.t)         GapiLens.t       val created : (GapiBloggerV2Model.User.t, GapiDate.t) GapiLens.t       val displayName : (GapiBloggerV2Model.User.t, string) GapiLens.t       val id : (GapiBloggerV2Model.User.t, string) GapiLens.t       val kind : (GapiBloggerV2Model.User.t, string) GapiLens.t       val locale :         (GapiBloggerV2Model.User.t, GapiBloggerV2Model.User.Locale.t)         GapiLens.t       val selfLink : (GapiBloggerV2Model.User.t, string) GapiLens.t       val url : (GapiBloggerV2Model.User.t, string) GapiLens.t       val empty : GapiBloggerV2Model.User.t       val render : GapiBloggerV2Model.User.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.User.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.User.t       val to_data_model :         GapiBloggerV2Model.User.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.User.t     end   module Comment :     sig       module Post :         sig           type t = { id : int64; }           val id : (GapiBloggerV2Model.Comment.Post.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Comment.Post.t           val render :             GapiBloggerV2Model.Comment.Post.t ->             GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Comment.Post.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Comment.Post.t         end       module InReplyTo :         sig           type t = { id : int64; }           val id : (GapiBloggerV2Model.Comment.InReplyTo.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Comment.InReplyTo.t           val render :             GapiBloggerV2Model.Comment.InReplyTo.t ->             GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Comment.InReplyTo.t ->             GapiJson.json_data_model ->             GapiBloggerV2Model.Comment.InReplyTo.t         end       module Blog :         sig           type t = { id : int64; }           val id : (GapiBloggerV2Model.Comment.Blog.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Comment.Blog.t           val render :             GapiBloggerV2Model.Comment.Blog.t ->             GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Comment.Blog.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Comment.Blog.t         end       module Author :         sig           module Image :             sig               type t = { url : string; }               val url :                 (GapiBloggerV2Model.Comment.Author.Image.t, string)                 GapiLens.t               val empty : GapiBloggerV2Model.Comment.Author.Image.t               val render :                 GapiBloggerV2Model.Comment.Author.Image.t ->                 GapiJson.json_data_model list               val parse :                 GapiBloggerV2Model.Comment.Author.Image.t ->                 GapiJson.json_data_model ->                 GapiBloggerV2Model.Comment.Author.Image.t             end           type t = {             displayName : string;             id : string;             image : GapiBloggerV2Model.Comment.Author.Image.t;             url : string;           }           val displayName :             (GapiBloggerV2Model.Comment.Author.t, string) GapiLens.t           val id : (GapiBloggerV2Model.Comment.Author.t, string) GapiLens.t           val image :             (GapiBloggerV2Model.Comment.Author.t,              GapiBloggerV2Model.Comment.Author.Image.t)             GapiLens.t           val url : (GapiBloggerV2Model.Comment.Author.t, string) GapiLens.t           val empty : GapiBloggerV2Model.Comment.Author.t           val render :             GapiBloggerV2Model.Comment.Author.t ->             GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Comment.Author.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Comment.Author.t         end       type t = {         author : GapiBloggerV2Model.Comment.Author.t;         blog : GapiBloggerV2Model.Comment.Blog.t;         content : string;         id : int64;         inReplyTo : GapiBloggerV2Model.Comment.InReplyTo.t;         kind : string;         post : GapiBloggerV2Model.Comment.Post.t;         published : GapiDate.t;         selfLink : string;         updated : GapiDate.t;       }       val author :         (GapiBloggerV2Model.Comment.t, GapiBloggerV2Model.Comment.Author.t)         GapiLens.t       val blog :         (GapiBloggerV2Model.Comment.t, GapiBloggerV2Model.Comment.Blog.t)         GapiLens.t       val content : (GapiBloggerV2Model.Comment.t, string) GapiLens.t       val id : (GapiBloggerV2Model.Comment.t, int64) GapiLens.t       val inReplyTo :         (GapiBloggerV2Model.Comment.t,          GapiBloggerV2Model.Comment.InReplyTo.t)         GapiLens.t       val kind : (GapiBloggerV2Model.Comment.t, string) GapiLens.t       val post :         (GapiBloggerV2Model.Comment.t, GapiBloggerV2Model.Comment.Post.t)         GapiLens.t       val published : (GapiBloggerV2Model.Comment.t, GapiDate.t) GapiLens.t       val selfLink : (GapiBloggerV2Model.Comment.t, string) GapiLens.t       val updated : (GapiBloggerV2Model.Comment.t, GapiDate.t) GapiLens.t       val empty : GapiBloggerV2Model.Comment.t       val render :         GapiBloggerV2Model.Comment.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.Comment.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.Comment.t       val to_data_model :         GapiBloggerV2Model.Comment.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.Comment.t     end   module CommentList :     sig       type t = {         items : GapiBloggerV2Model.Comment.t list;         kind : string;         nextPageToken : string;         prevPageToken : string;       }       val items :         (GapiBloggerV2Model.CommentList.t, GapiBloggerV2Model.Comment.t list)         GapiLens.t       val kind : (GapiBloggerV2Model.CommentList.t, string) GapiLens.t       val nextPageToken :         (GapiBloggerV2Model.CommentList.t, string) GapiLens.t       val prevPageToken :         (GapiBloggerV2Model.CommentList.t, string) GapiLens.t       val empty : GapiBloggerV2Model.CommentList.t       val render :         GapiBloggerV2Model.CommentList.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.CommentList.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.CommentList.t       val to_data_model :         GapiBloggerV2Model.CommentList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.CommentList.t     end   module Page :     sig       module Blog :         sig           type t = { id : int64; }           val id : (GapiBloggerV2Model.Page.Blog.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Page.Blog.t           val render :             GapiBloggerV2Model.Page.Blog.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Page.Blog.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Page.Blog.t         end       module Author :         sig           module Image :             sig               type t = { url : string; }               val url :                 (GapiBloggerV2Model.Page.Author.Image.t, string) GapiLens.t               val empty : GapiBloggerV2Model.Page.Author.Image.t               val render :                 GapiBloggerV2Model.Page.Author.Image.t ->                 GapiJson.json_data_model list               val parse :                 GapiBloggerV2Model.Page.Author.Image.t ->                 GapiJson.json_data_model ->                 GapiBloggerV2Model.Page.Author.Image.t             end           type t = {             displayName : string;             id : string;             image : GapiBloggerV2Model.Page.Author.Image.t;             url : string;           }           val displayName :             (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t           val id : (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t           val image :             (GapiBloggerV2Model.Page.Author.t,              GapiBloggerV2Model.Page.Author.Image.t)             GapiLens.t           val url : (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t           val empty : GapiBloggerV2Model.Page.Author.t           val render :             GapiBloggerV2Model.Page.Author.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Page.Author.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Page.Author.t         end       type t = {         author : GapiBloggerV2Model.Page.Author.t;         blog : GapiBloggerV2Model.Page.Blog.t;         content : string;         id : int64;         kind : string;         published : GapiDate.t;         selfLink : string;         title : string;         updated : GapiDate.t;         url : string;       }       val author :         (GapiBloggerV2Model.Page.t, GapiBloggerV2Model.Page.Author.t)         GapiLens.t       val blog :         (GapiBloggerV2Model.Page.t, GapiBloggerV2Model.Page.Blog.t)         GapiLens.t       val content : (GapiBloggerV2Model.Page.t, string) GapiLens.t       val id : (GapiBloggerV2Model.Page.t, int64) GapiLens.t       val kind : (GapiBloggerV2Model.Page.t, string) GapiLens.t       val published : (GapiBloggerV2Model.Page.t, GapiDate.t) GapiLens.t       val selfLink : (GapiBloggerV2Model.Page.t, string) GapiLens.t       val title : (GapiBloggerV2Model.Page.t, string) GapiLens.t       val updated : (GapiBloggerV2Model.Page.t, GapiDate.t) GapiLens.t       val url : (GapiBloggerV2Model.Page.t, string) GapiLens.t       val empty : GapiBloggerV2Model.Page.t       val render : GapiBloggerV2Model.Page.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.Page.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.Page.t       val to_data_model :         GapiBloggerV2Model.Page.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.Page.t     end   module Post :     sig       module Replies :         sig           type t = { selfLink : string; totalItems : int64; }           val selfLink :             (GapiBloggerV2Model.Post.Replies.t, string) GapiLens.t           val totalItems :             (GapiBloggerV2Model.Post.Replies.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Post.Replies.t           val render :             GapiBloggerV2Model.Post.Replies.t ->             GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Post.Replies.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Post.Replies.t         end       module Blog :         sig           type t = { id : int64; }           val id : (GapiBloggerV2Model.Post.Blog.t, int64) GapiLens.t           val empty : GapiBloggerV2Model.Post.Blog.t           val render :             GapiBloggerV2Model.Post.Blog.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Post.Blog.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Post.Blog.t         end       module Author :         sig           module Image :             sig               type t = { url : string; }               val url :                 (GapiBloggerV2Model.Post.Author.Image.t, string) GapiLens.t               val empty : GapiBloggerV2Model.Post.Author.Image.t               val render :                 GapiBloggerV2Model.Post.Author.Image.t ->                 GapiJson.json_data_model list               val parse :                 GapiBloggerV2Model.Post.Author.Image.t ->                 GapiJson.json_data_model ->                 GapiBloggerV2Model.Post.Author.Image.t             end           type t = {             displayName : string;             id : string;             image : GapiBloggerV2Model.Post.Author.Image.t;             url : string;           }           val displayName :             (GapiBloggerV2Model.Post.Author.t, string) GapiLens.t           val id : (GapiBloggerV2Model.Post.Author.t, string) GapiLens.t           val image :             (GapiBloggerV2Model.Post.Author.t,              GapiBloggerV2Model.Post.Author.Image.t)             GapiLens.t           val url : (GapiBloggerV2Model.Post.Author.t, string) GapiLens.t           val empty : GapiBloggerV2Model.Post.Author.t           val render :             GapiBloggerV2Model.Post.Author.t -> GapiJson.json_data_model list           val parse :             GapiBloggerV2Model.Post.Author.t ->             GapiJson.json_data_model -> GapiBloggerV2Model.Post.Author.t         end       type t = {         author : GapiBloggerV2Model.Post.Author.t;         blog : GapiBloggerV2Model.Post.Blog.t;         content : string;         id : int64;         kind : string;         labels : string list;         published : GapiDate.t;         replies : GapiBloggerV2Model.Post.Replies.t;         selfLink : string;         title : string;         updated : GapiDate.t;         url : string;       }       val author :         (GapiBloggerV2Model.Post.t, GapiBloggerV2Model.Post.Author.t)         GapiLens.t       val blog :         (GapiBloggerV2Model.Post.t, GapiBloggerV2Model.Post.Blog.t)         GapiLens.t       val content : (GapiBloggerV2Model.Post.t, string) GapiLens.t       val id : (GapiBloggerV2Model.Post.t, int64) GapiLens.t       val kind : (GapiBloggerV2Model.Post.t, string) GapiLens.t       val labels : (GapiBloggerV2Model.Post.t, string list) GapiLens.t       val published : (GapiBloggerV2Model.Post.t, GapiDate.t) GapiLens.t       val replies :         (GapiBloggerV2Model.Post.t, GapiBloggerV2Model.Post.Replies.t)         GapiLens.t       val selfLink : (GapiBloggerV2Model.Post.t, string) GapiLens.t       val title : (GapiBloggerV2Model.Post.t, string) GapiLens.t       val updated : (GapiBloggerV2Model.Post.t, GapiDate.t) GapiLens.t       val url : (GapiBloggerV2Model.Post.t, string) GapiLens.t       val empty : GapiBloggerV2Model.Post.t       val render : GapiBloggerV2Model.Post.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.Post.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.Post.t       val to_data_model :         GapiBloggerV2Model.Post.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.Post.t     end   module PostList :     sig       type t = {         items : GapiBloggerV2Model.Post.t list;         kind : string;         nextPageToken : string;         prevPageToken : string;       }       val items :         (GapiBloggerV2Model.PostList.t, GapiBloggerV2Model.Post.t list)         GapiLens.t       val kind : (GapiBloggerV2Model.PostList.t, string) GapiLens.t       val nextPageToken : (GapiBloggerV2Model.PostList.t, string) GapiLens.t       val prevPageToken : (GapiBloggerV2Model.PostList.t, string) GapiLens.t       val empty : GapiBloggerV2Model.PostList.t       val render :         GapiBloggerV2Model.PostList.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.PostList.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.PostList.t       val to_data_model :         GapiBloggerV2Model.PostList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.PostList.t     end   module PageList :     sig       type t = { items : GapiBloggerV2Model.Page.t list; kind : string; }       val items :         (GapiBloggerV2Model.PageList.t, GapiBloggerV2Model.Page.t list)         GapiLens.t       val kind : (GapiBloggerV2Model.PageList.t, string) GapiLens.t       val empty : GapiBloggerV2Model.PageList.t       val render :         GapiBloggerV2Model.PageList.t -> GapiJson.json_data_model list       val parse :         GapiBloggerV2Model.PageList.t ->         GapiJson.json_data_model -> GapiBloggerV2Model.PageList.t       val to_data_model :         GapiBloggerV2Model.PageList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiBloggerV2Model.PageList.t     end end