?sock:t ->
address ->
object
  val socket_ : t
  method accept : t * address
  method private bind : address -> unit
  method close : unit
  method dup : t
  method dup2 : t -> unit
  method fd : Unix.file_descr
  method private getpeername : address
  method getsockname : address
  method getsockopt : ('a, P.AF.tag, P.ST.tag) Cf_socket.sockopt -> 'a
  method listen : int -> unit
  method setsockopt :
    ('b, P.AF.tag, P.ST.tag) Cf_socket.sockopt -> '-> unit
  method private shutdown : Unix.shutdown_command -> unit
  method socket : t
end