sig
  module Comment :
    sig
      module Plusoners :
        sig
          type t = { totalItems : int; }
          val totalItems :
            (GapiPlusV1Model.Comment.Plusoners.t, int) GapiLens.t
          val empty : GapiPlusV1Model.Comment.Plusoners.t
          val render :
            GapiPlusV1Model.Comment.Plusoners.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Comment.Plusoners.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Comment.Plusoners.t
        end
      module Object :
        sig
          type t = {
            content : string;
            objectType : string;
            originalContent : string;
          }
          val content : (GapiPlusV1Model.Comment.Object.t, string) GapiLens.t
          val objectType :
            (GapiPlusV1Model.Comment.Object.t, string) GapiLens.t
          val originalContent :
            (GapiPlusV1Model.Comment.Object.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Comment.Object.t
          val render :
            GapiPlusV1Model.Comment.Object.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Comment.Object.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Comment.Object.t
        end
      module InReplyTo :
        sig
          type t = { id : string; url : string; }
          val id : (GapiPlusV1Model.Comment.InReplyTo.t, string) GapiLens.t
          val url : (GapiPlusV1Model.Comment.InReplyTo.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Comment.InReplyTo.t
          val render :
            GapiPlusV1Model.Comment.InReplyTo.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Comment.InReplyTo.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Comment.InReplyTo.t
        end
      module Actor :
        sig
          module Verification :
            sig
              type t = { adHocVerified : string; }
              val adHocVerified :
                (GapiPlusV1Model.Comment.Actor.Verification.t, string)
                GapiLens.t
              val empty : GapiPlusV1Model.Comment.Actor.Verification.t
              val render :
                GapiPlusV1Model.Comment.Actor.Verification.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Comment.Actor.Verification.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Comment.Actor.Verification.t
            end
          module Image :
            sig
              type t = { url : string; }
              val url :
                (GapiPlusV1Model.Comment.Actor.Image.t, string) GapiLens.t
              val empty : GapiPlusV1Model.Comment.Actor.Image.t
              val render :
                GapiPlusV1Model.Comment.Actor.Image.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Comment.Actor.Image.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Comment.Actor.Image.t
            end
          module ClientSpecificActorInfo :
            sig
              module YoutubeActorInfo :
                sig
                  type t = { channelId : string; }
                  val channelId :
                    (GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                  val render :
                    GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                end
              type t = {
                youtubeActorInfo :
                  GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t;
              }
              val youtubeActorInfo :
                (GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t,
                 GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t)
                GapiLens.t
              val empty :
                GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t
              val render :
                GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t
            end
          type t = {
            clientSpecificActorInfo :
              GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t;
            displayName : string;
            id : string;
            image : GapiPlusV1Model.Comment.Actor.Image.t;
            url : string;
            verification : GapiPlusV1Model.Comment.Actor.Verification.t;
          }
          val clientSpecificActorInfo :
            (GapiPlusV1Model.Comment.Actor.t,
             GapiPlusV1Model.Comment.Actor.ClientSpecificActorInfo.t)
            GapiLens.t
          val displayName :
            (GapiPlusV1Model.Comment.Actor.t, string) GapiLens.t
          val id : (GapiPlusV1Model.Comment.Actor.t, string) GapiLens.t
          val image :
            (GapiPlusV1Model.Comment.Actor.t,
             GapiPlusV1Model.Comment.Actor.Image.t)
            GapiLens.t
          val url : (GapiPlusV1Model.Comment.Actor.t, string) GapiLens.t
          val verification :
            (GapiPlusV1Model.Comment.Actor.t,
             GapiPlusV1Model.Comment.Actor.Verification.t)
            GapiLens.t
          val empty : GapiPlusV1Model.Comment.Actor.t
          val render :
            GapiPlusV1Model.Comment.Actor.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Comment.Actor.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Comment.Actor.t
        end
      type t = {
        actor : GapiPlusV1Model.Comment.Actor.t;
        etag : string;
        id : string;
        inReplyTo : GapiPlusV1Model.Comment.InReplyTo.t list;
        kind : string;
        _object : GapiPlusV1Model.Comment.Object.t;
        plusoners : GapiPlusV1Model.Comment.Plusoners.t;
        published : GapiDate.t;
        selfLink : string;
        updated : GapiDate.t;
        verb : string;
      }
      val actor :
        (GapiPlusV1Model.Comment.t, GapiPlusV1Model.Comment.Actor.t)
        GapiLens.t
      val etag : (GapiPlusV1Model.Comment.t, string) GapiLens.t
      val id : (GapiPlusV1Model.Comment.t, string) GapiLens.t
      val inReplyTo :
        (GapiPlusV1Model.Comment.t, GapiPlusV1Model.Comment.InReplyTo.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.Comment.t, string) GapiLens.t
      val _object :
        (GapiPlusV1Model.Comment.t, GapiPlusV1Model.Comment.Object.t)
        GapiLens.t
      val plusoners :
        (GapiPlusV1Model.Comment.t, GapiPlusV1Model.Comment.Plusoners.t)
        GapiLens.t
      val published : (GapiPlusV1Model.Comment.t, GapiDate.t) GapiLens.t
      val selfLink : (GapiPlusV1Model.Comment.t, string) GapiLens.t
      val updated : (GapiPlusV1Model.Comment.t, GapiDate.t) GapiLens.t
      val verb : (GapiPlusV1Model.Comment.t, string) GapiLens.t
      val empty : GapiPlusV1Model.Comment.t
      val render : GapiPlusV1Model.Comment.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Comment.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Comment.t
      val to_data_model :
        GapiPlusV1Model.Comment.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.Comment.t
    end
  module CommentFeed :
    sig
      type t = {
        etag : string;
        id : string;
        items : GapiPlusV1Model.Comment.t list;
        kind : string;
        nextLink : string;
        nextPageToken : string;
        title : string;
        updated : GapiDate.t;
      }
      val etag : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val id : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val items :
        (GapiPlusV1Model.CommentFeed.t, GapiPlusV1Model.Comment.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val nextLink : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val nextPageToken : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val title : (GapiPlusV1Model.CommentFeed.t, string) GapiLens.t
      val updated : (GapiPlusV1Model.CommentFeed.t, GapiDate.t) GapiLens.t
      val empty : GapiPlusV1Model.CommentFeed.t
      val render :
        GapiPlusV1Model.CommentFeed.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.CommentFeed.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.CommentFeed.t
      val to_data_model :
        GapiPlusV1Model.CommentFeed.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.CommentFeed.t
    end
  module Person :
    sig
      module Urls :
        sig
          type t = { label : string; _type : string; value : string; }
          val label : (GapiPlusV1Model.Person.Urls.t, string) GapiLens.t
          val _type : (GapiPlusV1Model.Person.Urls.t, string) GapiLens.t
          val value : (GapiPlusV1Model.Person.Urls.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Urls.t
          val render :
            GapiPlusV1Model.Person.Urls.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Urls.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.Urls.t
        end
      module PlacesLived :
        sig
          type t = { primary : bool; value : string; }
          val primary :
            (GapiPlusV1Model.Person.PlacesLived.t, bool) GapiLens.t
          val value :
            (GapiPlusV1Model.Person.PlacesLived.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.PlacesLived.t
          val render :
            GapiPlusV1Model.Person.PlacesLived.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.PlacesLived.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.PlacesLived.t
        end
      module Organizations :
        sig
          type t = {
            department : string;
            description : string;
            endDate : string;
            location : string;
            name : string;
            primary : bool;
            startDate : string;
            title : string;
            _type : string;
          }
          val department :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val description :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val endDate :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val location :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val name :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val primary :
            (GapiPlusV1Model.Person.Organizations.t, bool) GapiLens.t
          val startDate :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val title :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val _type :
            (GapiPlusV1Model.Person.Organizations.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Organizations.t
          val render :
            GapiPlusV1Model.Person.Organizations.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Organizations.t ->
            GapiJson.json_data_model ->
            GapiPlusV1Model.Person.Organizations.t
        end
      module Name :
        sig
          type t = {
            familyName : string;
            formatted : string;
            givenName : string;
            honorificPrefix : string;
            honorificSuffix : string;
            middleName : string;
          }
          val familyName : (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val formatted : (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val givenName : (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val honorificPrefix :
            (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val honorificSuffix :
            (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val middleName : (GapiPlusV1Model.Person.Name.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Name.t
          val render :
            GapiPlusV1Model.Person.Name.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Name.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.Name.t
        end
      module Image :
        sig
          type t = { isDefault : bool; url : string; }
          val isDefault : (GapiPlusV1Model.Person.Image.t, bool) GapiLens.t
          val url : (GapiPlusV1Model.Person.Image.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Image.t
          val render :
            GapiPlusV1Model.Person.Image.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Image.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.Image.t
        end
      module Emails :
        sig
          type t = { _type : string; value : string; }
          val _type : (GapiPlusV1Model.Person.Emails.t, string) GapiLens.t
          val value : (GapiPlusV1Model.Person.Emails.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Emails.t
          val render :
            GapiPlusV1Model.Person.Emails.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Emails.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.Emails.t
        end
      module Cover :
        sig
          module CoverPhoto :
            sig
              type t = { height : int; url : string; width : int; }
              val height :
                (GapiPlusV1Model.Person.Cover.CoverPhoto.t, int) GapiLens.t
              val url :
                (GapiPlusV1Model.Person.Cover.CoverPhoto.t, string)
                GapiLens.t
              val width :
                (GapiPlusV1Model.Person.Cover.CoverPhoto.t, int) GapiLens.t
              val empty : GapiPlusV1Model.Person.Cover.CoverPhoto.t
              val render :
                GapiPlusV1Model.Person.Cover.CoverPhoto.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Person.Cover.CoverPhoto.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Person.Cover.CoverPhoto.t
            end
          module CoverInfo :
            sig
              type t = { leftImageOffset : int; topImageOffset : int; }
              val leftImageOffset :
                (GapiPlusV1Model.Person.Cover.CoverInfo.t, int) GapiLens.t
              val topImageOffset :
                (GapiPlusV1Model.Person.Cover.CoverInfo.t, int) GapiLens.t
              val empty : GapiPlusV1Model.Person.Cover.CoverInfo.t
              val render :
                GapiPlusV1Model.Person.Cover.CoverInfo.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Person.Cover.CoverInfo.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Person.Cover.CoverInfo.t
            end
          type t = {
            coverInfo : GapiPlusV1Model.Person.Cover.CoverInfo.t;
            coverPhoto : GapiPlusV1Model.Person.Cover.CoverPhoto.t;
            layout : string;
          }
          val coverInfo :
            (GapiPlusV1Model.Person.Cover.t,
             GapiPlusV1Model.Person.Cover.CoverInfo.t)
            GapiLens.t
          val coverPhoto :
            (GapiPlusV1Model.Person.Cover.t,
             GapiPlusV1Model.Person.Cover.CoverPhoto.t)
            GapiLens.t
          val layout : (GapiPlusV1Model.Person.Cover.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Person.Cover.t
          val render :
            GapiPlusV1Model.Person.Cover.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.Cover.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.Cover.t
        end
      module AgeRange :
        sig
          type t = { max : int; min : int; }
          val max : (GapiPlusV1Model.Person.AgeRange.t, int) GapiLens.t
          val min : (GapiPlusV1Model.Person.AgeRange.t, int) GapiLens.t
          val empty : GapiPlusV1Model.Person.AgeRange.t
          val render :
            GapiPlusV1Model.Person.AgeRange.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Person.AgeRange.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Person.AgeRange.t
        end
      type t = {
        aboutMe : string;
        ageRange : GapiPlusV1Model.Person.AgeRange.t;
        birthday : string;
        braggingRights : string;
        circledByCount : int;
        cover : GapiPlusV1Model.Person.Cover.t;
        currentLocation : string;
        displayName : string;
        domain : string;
        emails : GapiPlusV1Model.Person.Emails.t list;
        etag : string;
        gender : string;
        id : string;
        image : GapiPlusV1Model.Person.Image.t;
        isPlusUser : bool;
        kind : string;
        language : string;
        name : GapiPlusV1Model.Person.Name.t;
        nickname : string;
        objectType : string;
        occupation : string;
        organizations : GapiPlusV1Model.Person.Organizations.t list;
        placesLived : GapiPlusV1Model.Person.PlacesLived.t list;
        plusOneCount : int;
        relationshipStatus : string;
        skills : string;
        tagline : string;
        url : string;
        urls : GapiPlusV1Model.Person.Urls.t list;
        verified : bool;
      }
      val aboutMe : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val ageRange :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.AgeRange.t)
        GapiLens.t
      val birthday : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val braggingRights : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val circledByCount : (GapiPlusV1Model.Person.t, int) GapiLens.t
      val cover :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.Cover.t) GapiLens.t
      val currentLocation : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val displayName : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val domain : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val emails :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.Emails.t list)
        GapiLens.t
      val etag : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val gender : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val id : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val image :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.Image.t) GapiLens.t
      val isPlusUser : (GapiPlusV1Model.Person.t, bool) GapiLens.t
      val kind : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val language : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val name :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.Name.t) GapiLens.t
      val nickname : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val objectType : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val occupation : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val organizations :
        (GapiPlusV1Model.Person.t,
         GapiPlusV1Model.Person.Organizations.t list)
        GapiLens.t
      val placesLived :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.PlacesLived.t list)
        GapiLens.t
      val plusOneCount : (GapiPlusV1Model.Person.t, int) GapiLens.t
      val relationshipStatus : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val skills : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val tagline : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val url : (GapiPlusV1Model.Person.t, string) GapiLens.t
      val urls :
        (GapiPlusV1Model.Person.t, GapiPlusV1Model.Person.Urls.t list)
        GapiLens.t
      val verified : (GapiPlusV1Model.Person.t, bool) GapiLens.t
      val empty : GapiPlusV1Model.Person.t
      val render : GapiPlusV1Model.Person.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Person.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Person.t
      val to_data_model :
        GapiPlusV1Model.Person.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.Person.t
    end
  module PlusAclentryResource :
    sig
      type t = { displayName : string; id : string; _type : string; }
      val displayName :
        (GapiPlusV1Model.PlusAclentryResource.t, string) GapiLens.t
      val id : (GapiPlusV1Model.PlusAclentryResource.t, string) GapiLens.t
      val _type : (GapiPlusV1Model.PlusAclentryResource.t, string) GapiLens.t
      val empty : GapiPlusV1Model.PlusAclentryResource.t
      val render :
        GapiPlusV1Model.PlusAclentryResource.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.PlusAclentryResource.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.PlusAclentryResource.t
      val to_data_model :
        GapiPlusV1Model.PlusAclentryResource.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.PlusAclentryResource.t
    end
  module Acl :
    sig
      type t = {
        description : string;
        items : GapiPlusV1Model.PlusAclentryResource.t list;
        kind : string;
      }
      val description : (GapiPlusV1Model.Acl.t, string) GapiLens.t
      val items :
        (GapiPlusV1Model.Acl.t, GapiPlusV1Model.PlusAclentryResource.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.Acl.t, string) GapiLens.t
      val empty : GapiPlusV1Model.Acl.t
      val render : GapiPlusV1Model.Acl.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Acl.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Acl.t
      val to_data_model : GapiPlusV1Model.Acl.t -> GapiJson.json_data_model
      val of_data_model : GapiJson.json_data_model -> GapiPlusV1Model.Acl.t
    end
  module Place :
    sig
      module Position :
        sig
          type t = { latitude : float; longitude : float; }
          val latitude : (GapiPlusV1Model.Place.Position.t, float) GapiLens.t
          val longitude :
            (GapiPlusV1Model.Place.Position.t, float) GapiLens.t
          val empty : GapiPlusV1Model.Place.Position.t
          val render :
            GapiPlusV1Model.Place.Position.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Place.Position.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Place.Position.t
        end
      module Address :
        sig
          type t = { formatted : string; }
          val formatted :
            (GapiPlusV1Model.Place.Address.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Place.Address.t
          val render :
            GapiPlusV1Model.Place.Address.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Place.Address.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Place.Address.t
        end
      type t = {
        address : GapiPlusV1Model.Place.Address.t;
        displayName : string;
        id : string;
        kind : string;
        position : GapiPlusV1Model.Place.Position.t;
      }
      val address :
        (GapiPlusV1Model.Place.t, GapiPlusV1Model.Place.Address.t) GapiLens.t
      val displayName : (GapiPlusV1Model.Place.t, string) GapiLens.t
      val id : (GapiPlusV1Model.Place.t, string) GapiLens.t
      val kind : (GapiPlusV1Model.Place.t, string) GapiLens.t
      val position :
        (GapiPlusV1Model.Place.t, GapiPlusV1Model.Place.Position.t)
        GapiLens.t
      val empty : GapiPlusV1Model.Place.t
      val render : GapiPlusV1Model.Place.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Place.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Place.t
      val to_data_model : GapiPlusV1Model.Place.t -> GapiJson.json_data_model
      val of_data_model : GapiJson.json_data_model -> GapiPlusV1Model.Place.t
    end
  module Activity :
    sig
      module Provider :
        sig
          type t = { title : string; }
          val title :
            (GapiPlusV1Model.Activity.Provider.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Activity.Provider.t
          val render :
            GapiPlusV1Model.Activity.Provider.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Activity.Provider.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Activity.Provider.t
        end
      module Object :
        sig
          module Resharers :
            sig
              type t = { selfLink : string; totalItems : int; }
              val selfLink :
                (GapiPlusV1Model.Activity.Object.Resharers.t, string)
                GapiLens.t
              val totalItems :
                (GapiPlusV1Model.Activity.Object.Resharers.t, int) GapiLens.t
              val empty : GapiPlusV1Model.Activity.Object.Resharers.t
              val render :
                GapiPlusV1Model.Activity.Object.Resharers.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Object.Resharers.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Object.Resharers.t
            end
          module Replies :
            sig
              type t = { selfLink : string; totalItems : int; }
              val selfLink :
                (GapiPlusV1Model.Activity.Object.Replies.t, string)
                GapiLens.t
              val totalItems :
                (GapiPlusV1Model.Activity.Object.Replies.t, int) GapiLens.t
              val empty : GapiPlusV1Model.Activity.Object.Replies.t
              val render :
                GapiPlusV1Model.Activity.Object.Replies.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Object.Replies.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Object.Replies.t
            end
          module Plusoners :
            sig
              type t = { selfLink : string; totalItems : int; }
              val selfLink :
                (GapiPlusV1Model.Activity.Object.Plusoners.t, string)
                GapiLens.t
              val totalItems :
                (GapiPlusV1Model.Activity.Object.Plusoners.t, int) GapiLens.t
              val empty : GapiPlusV1Model.Activity.Object.Plusoners.t
              val render :
                GapiPlusV1Model.Activity.Object.Plusoners.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Object.Plusoners.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Object.Plusoners.t
            end
          module Attachments :
            sig
              module Thumbnails :
                sig
                  module Image :
                    sig
                      type t = {
                        height : int;
                        _type : string;
                        url : string;
                        width : int;
                      }
                      val height :
                        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
                         int)
                        GapiLens.t
                      val _type :
                        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
                         string)
                        GapiLens.t
                      val url :
                        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
                         string)
                        GapiLens.t
                      val width :
                        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
                         int)
                        GapiLens.t
                      val empty :
                        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t
                      val render :
                        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t ->
                        GapiJson.json_data_model list
                      val parse :
                        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t ->
                        GapiJson.json_data_model ->
                        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t
                    end
                  type t = {
                    description : string;
                    image :
                      GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t;
                    url : string;
                  }
                  val description :
                    (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t,
                     string)
                    GapiLens.t
                  val image :
                    (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t,
                     GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t)
                    GapiLens.t
                  val url :
                    (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
                end
              module Image :
                sig
                  type t = {
                    height : int;
                    _type : string;
                    url : string;
                    width : int;
                  }
                  val height :
                    (GapiPlusV1Model.Activity.Object.Attachments.Image.t,
                     int)
                    GapiLens.t
                  val _type :
                    (GapiPlusV1Model.Activity.Object.Attachments.Image.t,
                     string)
                    GapiLens.t
                  val url :
                    (GapiPlusV1Model.Activity.Object.Attachments.Image.t,
                     string)
                    GapiLens.t
                  val width :
                    (GapiPlusV1Model.Activity.Object.Attachments.Image.t,
                     int)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Attachments.Image.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Attachments.Image.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Attachments.Image.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Attachments.Image.t
                end
              module FullImage :
                sig
                  type t = {
                    height : int;
                    _type : string;
                    url : string;
                    width : int;
                  }
                  val height :
                    (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t,
                     int)
                    GapiLens.t
                  val _type :
                    (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t,
                     string)
                    GapiLens.t
                  val url :
                    (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t,
                     string)
                    GapiLens.t
                  val width :
                    (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t,
                     int)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Attachments.FullImage.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Attachments.FullImage.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Attachments.FullImage.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Attachments.FullImage.t
                end
              module Embed :
                sig
                  type t = { _type : string; url : string; }
                  val _type :
                    (GapiPlusV1Model.Activity.Object.Attachments.Embed.t,
                     string)
                    GapiLens.t
                  val url :
                    (GapiPlusV1Model.Activity.Object.Attachments.Embed.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Attachments.Embed.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Attachments.Embed.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Attachments.Embed.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Attachments.Embed.t
                end
              type t = {
                content : string;
                displayName : string;
                embed : GapiPlusV1Model.Activity.Object.Attachments.Embed.t;
                fullImage :
                  GapiPlusV1Model.Activity.Object.Attachments.FullImage.t;
                id : string;
                image : GapiPlusV1Model.Activity.Object.Attachments.Image.t;
                objectType : string;
                thumbnails :
                  GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
                  list;
                url : string;
              }
              val content :
                (GapiPlusV1Model.Activity.Object.Attachments.t, string)
                GapiLens.t
              val displayName :
                (GapiPlusV1Model.Activity.Object.Attachments.t, string)
                GapiLens.t
              val embed :
                (GapiPlusV1Model.Activity.Object.Attachments.t,
                 GapiPlusV1Model.Activity.Object.Attachments.Embed.t)
                GapiLens.t
              val fullImage :
                (GapiPlusV1Model.Activity.Object.Attachments.t,
                 GapiPlusV1Model.Activity.Object.Attachments.FullImage.t)
                GapiLens.t
              val id :
                (GapiPlusV1Model.Activity.Object.Attachments.t, string)
                GapiLens.t
              val image :
                (GapiPlusV1Model.Activity.Object.Attachments.t,
                 GapiPlusV1Model.Activity.Object.Attachments.Image.t)
                GapiLens.t
              val objectType :
                (GapiPlusV1Model.Activity.Object.Attachments.t, string)
                GapiLens.t
              val thumbnails :
                (GapiPlusV1Model.Activity.Object.Attachments.t,
                 GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
                 list)
                GapiLens.t
              val url :
                (GapiPlusV1Model.Activity.Object.Attachments.t, string)
                GapiLens.t
              val empty : GapiPlusV1Model.Activity.Object.Attachments.t
              val render :
                GapiPlusV1Model.Activity.Object.Attachments.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Object.Attachments.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Object.Attachments.t
            end
          module Actor :
            sig
              module Verification :
                sig
                  type t = { adHocVerified : string; }
                  val adHocVerified :
                    (GapiPlusV1Model.Activity.Object.Actor.Verification.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Actor.Verification.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Actor.Verification.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Actor.Verification.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Actor.Verification.t
                end
              module Image :
                sig
                  type t = { url : string; }
                  val url :
                    (GapiPlusV1Model.Activity.Object.Actor.Image.t, string)
                    GapiLens.t
                  val empty : GapiPlusV1Model.Activity.Object.Actor.Image.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Actor.Image.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Actor.Image.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Actor.Image.t
                end
              module ClientSpecificActorInfo :
                sig
                  module YoutubeActorInfo :
                    sig
                      type t = { channelId : string; }
                      val channelId :
                        (GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t,
                         string)
                        GapiLens.t
                      val empty :
                        GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                      val render :
                        GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                        GapiJson.json_data_model list
                      val parse :
                        GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                        GapiJson.json_data_model ->
                        GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                    end
                  type t = {
                    youtubeActorInfo :
                      GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t;
                  }
                  val youtubeActorInfo :
                    (GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t,
                     GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t
                  val render :
                    GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t
                end
              type t = {
                clientSpecificActorInfo :
                  GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t;
                displayName : string;
                id : string;
                image : GapiPlusV1Model.Activity.Object.Actor.Image.t;
                url : string;
                verification :
                  GapiPlusV1Model.Activity.Object.Actor.Verification.t;
              }
              val clientSpecificActorInfo :
                (GapiPlusV1Model.Activity.Object.Actor.t,
                 GapiPlusV1Model.Activity.Object.Actor.ClientSpecificActorInfo.t)
                GapiLens.t
              val displayName :
                (GapiPlusV1Model.Activity.Object.Actor.t, string) GapiLens.t
              val id :
                (GapiPlusV1Model.Activity.Object.Actor.t, string) GapiLens.t
              val image :
                (GapiPlusV1Model.Activity.Object.Actor.t,
                 GapiPlusV1Model.Activity.Object.Actor.Image.t)
                GapiLens.t
              val url :
                (GapiPlusV1Model.Activity.Object.Actor.t, string) GapiLens.t
              val verification :
                (GapiPlusV1Model.Activity.Object.Actor.t,
                 GapiPlusV1Model.Activity.Object.Actor.Verification.t)
                GapiLens.t
              val empty : GapiPlusV1Model.Activity.Object.Actor.t
              val render :
                GapiPlusV1Model.Activity.Object.Actor.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Object.Actor.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Object.Actor.t
            end
          type t = {
            actor : GapiPlusV1Model.Activity.Object.Actor.t;
            attachments : GapiPlusV1Model.Activity.Object.Attachments.t list;
            content : string;
            id : string;
            objectType : string;
            originalContent : string;
            plusoners : GapiPlusV1Model.Activity.Object.Plusoners.t;
            replies : GapiPlusV1Model.Activity.Object.Replies.t;
            resharers : GapiPlusV1Model.Activity.Object.Resharers.t;
            url : string;
          }
          val actor :
            (GapiPlusV1Model.Activity.Object.t,
             GapiPlusV1Model.Activity.Object.Actor.t)
            GapiLens.t
          val attachments :
            (GapiPlusV1Model.Activity.Object.t,
             GapiPlusV1Model.Activity.Object.Attachments.t list)
            GapiLens.t
          val content :
            (GapiPlusV1Model.Activity.Object.t, string) GapiLens.t
          val id : (GapiPlusV1Model.Activity.Object.t, string) GapiLens.t
          val objectType :
            (GapiPlusV1Model.Activity.Object.t, string) GapiLens.t
          val originalContent :
            (GapiPlusV1Model.Activity.Object.t, string) GapiLens.t
          val plusoners :
            (GapiPlusV1Model.Activity.Object.t,
             GapiPlusV1Model.Activity.Object.Plusoners.t)
            GapiLens.t
          val replies :
            (GapiPlusV1Model.Activity.Object.t,
             GapiPlusV1Model.Activity.Object.Replies.t)
            GapiLens.t
          val resharers :
            (GapiPlusV1Model.Activity.Object.t,
             GapiPlusV1Model.Activity.Object.Resharers.t)
            GapiLens.t
          val url : (GapiPlusV1Model.Activity.Object.t, string) GapiLens.t
          val empty : GapiPlusV1Model.Activity.Object.t
          val render :
            GapiPlusV1Model.Activity.Object.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Activity.Object.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Activity.Object.t
        end
      module Actor :
        sig
          module Verification :
            sig
              type t = { adHocVerified : string; }
              val adHocVerified :
                (GapiPlusV1Model.Activity.Actor.Verification.t, string)
                GapiLens.t
              val empty : GapiPlusV1Model.Activity.Actor.Verification.t
              val render :
                GapiPlusV1Model.Activity.Actor.Verification.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Actor.Verification.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Actor.Verification.t
            end
          module Name :
            sig
              type t = { familyName : string; givenName : string; }
              val familyName :
                (GapiPlusV1Model.Activity.Actor.Name.t, string) GapiLens.t
              val givenName :
                (GapiPlusV1Model.Activity.Actor.Name.t, string) GapiLens.t
              val empty : GapiPlusV1Model.Activity.Actor.Name.t
              val render :
                GapiPlusV1Model.Activity.Actor.Name.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Actor.Name.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Actor.Name.t
            end
          module Image :
            sig
              type t = { url : string; }
              val url :
                (GapiPlusV1Model.Activity.Actor.Image.t, string) GapiLens.t
              val empty : GapiPlusV1Model.Activity.Actor.Image.t
              val render :
                GapiPlusV1Model.Activity.Actor.Image.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Actor.Image.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Actor.Image.t
            end
          module ClientSpecificActorInfo :
            sig
              module YoutubeActorInfo :
                sig
                  type t = { channelId : string; }
                  val channelId :
                    (GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                  val render :
                    GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t ->
                    GapiJson.json_data_model ->
                    GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t
                end
              type t = {
                youtubeActorInfo :
                  GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t;
              }
              val youtubeActorInfo :
                (GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t,
                 GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.YoutubeActorInfo.t)
                GapiLens.t
              val empty :
                GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t
              val render :
                GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t ->
                GapiJson.json_data_model ->
                GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t
            end
          type t = {
            clientSpecificActorInfo :
              GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t;
            displayName : string;
            id : string;
            image : GapiPlusV1Model.Activity.Actor.Image.t;
            name : GapiPlusV1Model.Activity.Actor.Name.t;
            url : string;
            verification : GapiPlusV1Model.Activity.Actor.Verification.t;
          }
          val clientSpecificActorInfo :
            (GapiPlusV1Model.Activity.Actor.t,
             GapiPlusV1Model.Activity.Actor.ClientSpecificActorInfo.t)
            GapiLens.t
          val displayName :
            (GapiPlusV1Model.Activity.Actor.t, string) GapiLens.t
          val id : (GapiPlusV1Model.Activity.Actor.t, string) GapiLens.t
          val image :
            (GapiPlusV1Model.Activity.Actor.t,
             GapiPlusV1Model.Activity.Actor.Image.t)
            GapiLens.t
          val name :
            (GapiPlusV1Model.Activity.Actor.t,
             GapiPlusV1Model.Activity.Actor.Name.t)
            GapiLens.t
          val url : (GapiPlusV1Model.Activity.Actor.t, string) GapiLens.t
          val verification :
            (GapiPlusV1Model.Activity.Actor.t,
             GapiPlusV1Model.Activity.Actor.Verification.t)
            GapiLens.t
          val empty : GapiPlusV1Model.Activity.Actor.t
          val render :
            GapiPlusV1Model.Activity.Actor.t -> GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Activity.Actor.t ->
            GapiJson.json_data_model -> GapiPlusV1Model.Activity.Actor.t
        end
      type t = {
        access : GapiPlusV1Model.Acl.t;
        actor : GapiPlusV1Model.Activity.Actor.t;
        address : string;
        annotation : string;
        crosspostSource : string;
        etag : string;
        geocode : string;
        id : string;
        kind : string;
        location : GapiPlusV1Model.Place.t;
        _object : GapiPlusV1Model.Activity.Object.t;
        placeId : string;
        placeName : string;
        provider : GapiPlusV1Model.Activity.Provider.t;
        published : GapiDate.t;
        radius : string;
        title : string;
        updated : GapiDate.t;
        url : string;
        verb : string;
      }
      val access :
        (GapiPlusV1Model.Activity.t, GapiPlusV1Model.Acl.t) GapiLens.t
      val actor :
        (GapiPlusV1Model.Activity.t, GapiPlusV1Model.Activity.Actor.t)
        GapiLens.t
      val address : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val annotation : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val crosspostSource : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val etag : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val geocode : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val id : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val kind : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val location :
        (GapiPlusV1Model.Activity.t, GapiPlusV1Model.Place.t) GapiLens.t
      val _object :
        (GapiPlusV1Model.Activity.t, GapiPlusV1Model.Activity.Object.t)
        GapiLens.t
      val placeId : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val placeName : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val provider :
        (GapiPlusV1Model.Activity.t, GapiPlusV1Model.Activity.Provider.t)
        GapiLens.t
      val published : (GapiPlusV1Model.Activity.t, GapiDate.t) GapiLens.t
      val radius : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val title : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val updated : (GapiPlusV1Model.Activity.t, GapiDate.t) GapiLens.t
      val url : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val verb : (GapiPlusV1Model.Activity.t, string) GapiLens.t
      val empty : GapiPlusV1Model.Activity.t
      val render :
        GapiPlusV1Model.Activity.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Activity.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Activity.t
      val to_data_model :
        GapiPlusV1Model.Activity.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.Activity.t
    end
  module ItemScope :
    sig
      type t = {
        about : GapiPlusV1Model.ItemScope.t option;
        additionalName : string list;
        address : GapiPlusV1Model.ItemScope.t option;
        addressCountry : string;
        addressLocality : string;
        addressRegion : string;
        associated_media : GapiPlusV1Model.ItemScope.t list;
        attendeeCount : int;
        attendees : GapiPlusV1Model.ItemScope.t list;
        audio : GapiPlusV1Model.ItemScope.t option;
        author : GapiPlusV1Model.ItemScope.t list;
        bestRating : string;
        birthDate : string;
        byArtist : GapiPlusV1Model.ItemScope.t option;
        caption : string;
        contentSize : string;
        contentUrl : string;
        contributor : GapiPlusV1Model.ItemScope.t list;
        dateCreated : string;
        dateModified : string;
        datePublished : string;
        description : string;
        duration : string;
        embedUrl : string;
        endDate : string;
        familyName : string;
        gender : string;
        geo : GapiPlusV1Model.ItemScope.t option;
        givenName : string;
        height : string;
        id : string;
        image : string;
        inAlbum : GapiPlusV1Model.ItemScope.t option;
        kind : string;
        latitude : float;
        location : GapiPlusV1Model.ItemScope.t option;
        longitude : float;
        name : string;
        partOfTVSeries : GapiPlusV1Model.ItemScope.t option;
        performers : GapiPlusV1Model.ItemScope.t list;
        playerType : string;
        postOfficeBoxNumber : string;
        postalCode : string;
        ratingValue : string;
        reviewRating : GapiPlusV1Model.ItemScope.t option;
        startDate : string;
        streetAddress : string;
        text : string;
        thumbnail : GapiPlusV1Model.ItemScope.t option;
        thumbnailUrl : string;
        tickerSymbol : string;
        _type : string;
        url : string;
        width : string;
        worstRating : string;
      }
      val about :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val additionalName :
        (GapiPlusV1Model.ItemScope.t, string list) GapiLens.t
      val address :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val addressCountry : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val addressLocality : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val addressRegion : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val associated_media :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t list)
        GapiLens.t
      val attendeeCount : (GapiPlusV1Model.ItemScope.t, int) GapiLens.t
      val attendees :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t list)
        GapiLens.t
      val audio :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val author :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t list)
        GapiLens.t
      val bestRating : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val birthDate : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val byArtist :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val caption : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val contentSize : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val contentUrl : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val contributor :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t list)
        GapiLens.t
      val dateCreated : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val dateModified : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val datePublished : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val description : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val duration : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val embedUrl : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val endDate : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val familyName : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val gender : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val geo :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val givenName : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val height : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val id : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val image : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val inAlbum :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val kind : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val latitude : (GapiPlusV1Model.ItemScope.t, float) GapiLens.t
      val location :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val longitude : (GapiPlusV1Model.ItemScope.t, float) GapiLens.t
      val name : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val partOfTVSeries :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val performers :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t list)
        GapiLens.t
      val playerType : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val postOfficeBoxNumber :
        (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val postalCode : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val ratingValue : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val reviewRating :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val startDate : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val streetAddress : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val text : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val thumbnail :
        (GapiPlusV1Model.ItemScope.t, GapiPlusV1Model.ItemScope.t option)
        GapiLens.t
      val thumbnailUrl : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val tickerSymbol : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val _type : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val url : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val width : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val worstRating : (GapiPlusV1Model.ItemScope.t, string) GapiLens.t
      val empty : GapiPlusV1Model.ItemScope.t
      val render :
        GapiPlusV1Model.ItemScope.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.ItemScope.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.ItemScope.t
      val to_data_model :
        GapiPlusV1Model.ItemScope.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.ItemScope.t
    end
  module Moment :
    sig
      type t = {
        id : string;
        kind : string;
        _object : GapiPlusV1Model.ItemScope.t;
        result : GapiPlusV1Model.ItemScope.t;
        startDate : GapiDate.t;
        target : GapiPlusV1Model.ItemScope.t;
        _type : string;
      }
      val id : (GapiPlusV1Model.Moment.t, string) GapiLens.t
      val kind : (GapiPlusV1Model.Moment.t, string) GapiLens.t
      val _object :
        (GapiPlusV1Model.Moment.t, GapiPlusV1Model.ItemScope.t) GapiLens.t
      val result :
        (GapiPlusV1Model.Moment.t, GapiPlusV1Model.ItemScope.t) GapiLens.t
      val startDate : (GapiPlusV1Model.Moment.t, GapiDate.t) GapiLens.t
      val target :
        (GapiPlusV1Model.Moment.t, GapiPlusV1Model.ItemScope.t) GapiLens.t
      val _type : (GapiPlusV1Model.Moment.t, string) GapiLens.t
      val empty : GapiPlusV1Model.Moment.t
      val render : GapiPlusV1Model.Moment.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Moment.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Moment.t
      val to_data_model :
        GapiPlusV1Model.Moment.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.Moment.t
    end
  module MomentsFeed :
    sig
      type t = {
        etag : string;
        items : GapiPlusV1Model.Moment.t list;
        kind : string;
        nextLink : string;
        nextPageToken : string;
        selfLink : string;
        title : string;
        updated : GapiDate.t;
      }
      val etag : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val items :
        (GapiPlusV1Model.MomentsFeed.t, GapiPlusV1Model.Moment.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val nextLink : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val nextPageToken : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val selfLink : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val title : (GapiPlusV1Model.MomentsFeed.t, string) GapiLens.t
      val updated : (GapiPlusV1Model.MomentsFeed.t, GapiDate.t) GapiLens.t
      val empty : GapiPlusV1Model.MomentsFeed.t
      val render :
        GapiPlusV1Model.MomentsFeed.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.MomentsFeed.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.MomentsFeed.t
      val to_data_model :
        GapiPlusV1Model.MomentsFeed.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.MomentsFeed.t
    end
  module PeopleFeed :
    sig
      type t = {
        etag : string;
        items : GapiPlusV1Model.Person.t list;
        kind : string;
        nextPageToken : string;
        selfLink : string;
        title : string;
        totalItems : int;
      }
      val etag : (GapiPlusV1Model.PeopleFeed.t, string) GapiLens.t
      val items :
        (GapiPlusV1Model.PeopleFeed.t, GapiPlusV1Model.Person.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.PeopleFeed.t, string) GapiLens.t
      val nextPageToken : (GapiPlusV1Model.PeopleFeed.t, string) GapiLens.t
      val selfLink : (GapiPlusV1Model.PeopleFeed.t, string) GapiLens.t
      val title : (GapiPlusV1Model.PeopleFeed.t, string) GapiLens.t
      val totalItems : (GapiPlusV1Model.PeopleFeed.t, int) GapiLens.t
      val empty : GapiPlusV1Model.PeopleFeed.t
      val render :
        GapiPlusV1Model.PeopleFeed.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.PeopleFeed.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.PeopleFeed.t
      val to_data_model :
        GapiPlusV1Model.PeopleFeed.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.PeopleFeed.t
    end
  module ActivityFeed :
    sig
      type t = {
        etag : string;
        id : string;
        items : GapiPlusV1Model.Activity.t list;
        kind : string;
        nextLink : string;
        nextPageToken : string;
        selfLink : string;
        title : string;
        updated : GapiDate.t;
      }
      val etag : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val id : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val items :
        (GapiPlusV1Model.ActivityFeed.t, GapiPlusV1Model.Activity.t list)
        GapiLens.t
      val kind : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val nextLink : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val nextPageToken : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val selfLink : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val title : (GapiPlusV1Model.ActivityFeed.t, string) GapiLens.t
      val updated : (GapiPlusV1Model.ActivityFeed.t, GapiDate.t) GapiLens.t
      val empty : GapiPlusV1Model.ActivityFeed.t
      val render :
        GapiPlusV1Model.ActivityFeed.t -> GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.ActivityFeed.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.ActivityFeed.t
      val to_data_model :
        GapiPlusV1Model.ActivityFeed.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiPlusV1Model.ActivityFeed.t
    end
end