Gluten
module type RUNTIME = sig ... end
type 't runtime = (module RUNTIME with type t = 't)
type impl
val make : 't runtime -> 't -> impl
module Reqd : sig ... end
module Server : sig ... end
module Client : sig ... end
type 'reqd reqd = private 'reqd Reqd.t = {
reqd : 'reqd;
upgrade : impl -> unit;
}
module Buffer : sig ... end