code: func ListenAndServe(addr string, handler Handler, options ...Option) error {
  	srv := &Server{Addr: addr, Handler: handler}
  	for _, option := range options {
  		if err := srv.SetOption(option); err != nil {
  			return err
  		}
  	}
  	return srv.ListenAndServe()
  }
docs: // ListenAndServe listens on the TCP network address addr and then calls Serve
  // with handler to handle sessions on incoming connections. Handler is typically
  // nil, in which case the DefaultHandler is used.