sig
  type ('a, 'listening_on) t constraint 'a = [< Import.Socket.Address.t ]
  type inet = (Import.Socket.Address.Inet.t, int) Tcp.Where_to_listen.t
  type unix = (Import.Socket.Address.Unix.t, string) Tcp.Where_to_listen.t
  val create :
    socket_type:([< Import.Socket.Address.t ] as 'a) Import.Socket.Type.t ->
    address:'->
    listening_on:('-> 'listening_on) ->
    ('a, 'listening_on) Tcp.Where_to_listen.t
end