fn filter_segment<F, U>( func: F, ) -> impl Filter<Extract = U, Error = Rejection> + Copywhere F: Fn(&str) -> Result<U, Rejection> + Copy, U: Tuple + Send + 'static,