functor (C : CONFIG->
  sig
    val socket : ?port:int -> unit -> Unix.file_descr
    val accept :
      ?thread:((unit -> unit) -> unit) ->
      Unix.file_descr ->
      (Unix.sockaddr -> Socket.in_channel -> Socket.out_channel -> unit) ->
      'a
    val daemon :
      Unix.sockaddr -> Socket.in_channel -> Socket.out_channel -> unit
  end