pub fn add_optional_service<S>(mut self, svc: Option<S>) -> Self
    where
        S: Service<Request<Body>, Error = Infallible>
            + NamedService
            + Clone
            + Send
            + Sync
            + 'static,
        S::Response: axum::response::IntoResponse,
        S::Future: Send + 'static,
    {
        if let Some(svc) = svc {
            self.routes = self.routes.add_service(svc);
        }
        self
    }
Add a new optional service to this router.

# Note
Even when the argument given is `None` this will capture *all* requests to this service name.
As a result, one cannot use this to toggle between two identically named implementations.
tonic/src/transport/server/mod.rs