sig
  type t = { connection : OBus_connection.t; name : OBus_name.bus; }
  val compare : OBus_peer.t -> OBus_peer.t -> int
  val connection : OBus_peer.t -> OBus_connection.t
  val name : OBus_peer.t -> OBus_name.bus
  val make :
    connection:OBus_connection.t -> name:OBus_name.bus -> OBus_peer.t
  val anonymous : OBus_connection.t -> OBus_peer.t
  val ping : OBus_peer.t -> OBus_peer.t Lwt.t
  val get_machine_id : OBus_peer.t -> OBus_uuid.t Lwt.t
  val wait_for_exit : OBus_peer.t -> unit Lwt.t
  type peer = OBus_peer.t
  module type Private =
    sig
      type t = private OBus_peer.peer
      external of_peer : OBus_peer.peer -> OBus_peer.Private.t = "%identity"
      external to_peer : OBus_peer.Private.t -> OBus_peer.peer = "%identity"
    end
  module Private :
    sig
      type t = OBus_peer.peer
      external of_peer : OBus_peer.peer -> OBus_peer.Private.t = "%identity"
      external to_peer : OBus_peer.Private.t -> OBus_peer.peer = "%identity"
    end
end