code: func Serve(l net.Listener, handler Handler, options ...Option) error {
  	srv := &Server{Handler: handler}
  	for _, option := range options {
  		if err := srv.SetOption(option); err != nil {
  			return err
  		}
  	}
  	return srv.Serve(l)
  }
docs: // Serve accepts incoming SSH connections on the listener l, creating a new
  // connection goroutine for each. The connection goroutines read requests and
  // then calls handler to handle sessions. Handler is typically nil, in which
  // case the DefaultHandler is used.