pub(crate) fn filter_fn<F, U>(func: F) -> FilterFn<F>where F: Fn(&mut Route) -> U, U: TryFuture, U::Ok: Tuple, U::Error: IsReject,