code: func Listen(network, laddr string, config *Config) (net.Listener, error) {
  	if config == nil || (len(config.Certificates) == 0 && config.GetCertificate == nil) {
  		return nil, errors.New("tls: neither Certificates nor GetCertificate set in Config")
  	}
  	l, err := net.Listen(network, laddr)
  	if err != nil {
  		return nil, err
  	}
  	return NewListener(l, config), nil
  }
docs: // Listen creates a TLS listener accepting connections on the
  // given network address using net.Listen.
  // The configuration config must be non-nil and must include
  // at least one certificate or else set GetCertificate.