This is a really nice function but there might be a bug in its future implementation: https://github.com/tower-rs/tower/issues/469 This bug may have already been fixed for the 0.4.0 release, so we could change back then.