pub type Next<State, Context, Error> = Box<dyn Fn(State, Context) -> MiddlewareOutput<Context, Error> + Send + Sync>;
pub struct Next<State, Context, Error>(/* private fields */);