Simple provides a basic plugin implementation of S to be used as the foundation for a plugin that overrides only specific callbacks.
Simple
S
module Session : sig ... end
module Envelope : sig ... end
include S with module Session := Session and module Envelope := Envelope
module Session : Session
module Envelope : Envelope with type session := Session.t
val rpcs : unit ‑> unit Async.Rpc.Implementation.t list