/// relay. This is especially important here since we're handling data that is controllable from
// > - Parties MUST ignore any occurrence of an extension with a given type after the first such occurrence.
fn with_ntor_keys<T>(&self, map: impl FnMut(&Arc<RelayNtorKeypair>) -> T) -> impl AsRef<[T]> {
/// Helper function to split a `RelayLayer` into forward and backward type-erased trait objects.