Module D.M

type t = Msg.t
val string_of_message : t -> string
type 'a step = 'a Msg.step
type 'a request = 'a Msg.request
type 'a reply = 'a Msg.reply
val request_step : 'step request -> 'step step
val of_request : 'a request -> t
val of_reply : 'a reply -> t
val to_request : 'step step -> t -> 'step request option
val to_reply : 'step step -> t -> 'step reply option
val index : t -> int