functor (Types : sig type s_t type c_t end->
  sig
    type group_dsc =
        Channel_factory.MakeTransportChanTypes(DescriptorTypes).group_dsc
    type seq_dsc =
        Channel_factory.MakeTransportChanTypes(DescriptorTypes).seq_dsc
    type viewmgr_dsc =
        Channel_factory.MakeTransportChanTypes(DescriptorTypes).viewmgr_dsc
    type transport_dsc =
        Channel_factory.MakeTransportChanTypes(DescriptorTypes).transport_dsc
    type msg = t Request_types.Group_to_transport.message
    type req = t Request_types.Group_to_transport.receive_request
    type s_t = Types.s_t
    type d_t = unit
    type c_t = Types.c_t
    type dsc = s_t * d_t * c_t
    val init : '-> '-> unit lazy_t
    module type FromBoundedChannelSig =
      sig
        type from_chan = dsc
        type receive_req = req
        val receive_request : from_chan -> receive_req -> unit
      end
    module Make :
      functor (FromChannel : FromBoundedChannelSig->
        sig
          type dest = dsc
          type m = msg
          type req = FromChannel.receive_req
          val start : FromChannel.from_chan -> unit
          val process_message :
            FromChannel.from_chan ->
            t Request_types.Group_to_transport.receive_request ->
            t Request_types.Group_to_transport.message -> unit
        end
  end