pub type MiddlewareOutput<Context, Error> = Pin<Box<dyn Future<Output = Result<Context, Error>> + Send>>;
pub struct MiddlewareOutput<Context, Error> { /* private fields */ }