->
object
  val socket_ : t
  method private bind : address_t -> unit
  method close : unit
  method dup : t
  method dup2 : t -> unit
  method fd : Unix.file_descr
  method getpeername : address_t
  method getsockname : address_t
  method getsockopt : ('a, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'a
  method recv : ?flags:Cf_socket.msg_flags_t -> string -> int -> int -> int
  method send : ?flags:Cf_socket.msg_flags_t -> string -> int -> int -> int
  method setsockopt :
    ('b, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> '-> unit
  method shutdown : Unix.shutdown_command -> unit
  method socket : t
end