code: func (l *tcpListener) Accept() (net.Conn, error) {
  	s, ok := <-l.in
  	if !ok {
  		return nil, io.EOF
  	}
  	ch, incoming, err := s.newCh.Accept()
  	if err != nil {
  		return nil, err
  	}
  	go DiscardRequests(incoming)
  
  	return &tcpChanConn{
  		Channel: ch,
  		laddr:   l.laddr,
  		raddr:   s.raddr,
  	}, nil
  }
docs: // Accept waits for and returns the next connection to the listener.