sig
  type namespace = int
  type page_t = [ `PAGE ]
  type category_t = [ `CATEGORY | `PAGE ]
  type revision_t = [ `REVISION ]
  type user_t = [ `USER ]
  type rc_t
  module Id :
    sig
      type -'a t = private Int64.t
      val cast : Int64.t -> 'WTypes.Id.t
      val of_string : string -> 'WTypes.Id.t
      val to_string : 'WTypes.Id.t -> string
    end
  module Title :
    sig
      type t
      val make : string -> WTypes.namespace -> WTypes.Title.t
      val to_string : WTypes.Title.t -> string
      val namespace : WTypes.Title.t -> WTypes.namespace
    end
  module Timestamp :
    sig
      type t
      val of_string : string -> WTypes.Timestamp.t
      val to_string : WTypes.Timestamp.t -> string
    end
end