use simple_middleware::Manager;
#[tokio::main]
async fn main() {
let manager = Manager::last(|v, _n| async move { v + 22_usize }).await;
manager
.next(|mut v, next| async move {
v += 4;
next.call(v).await
})
.await
.next(|v, next| async move { next.call(v * 2).await })
.await;
let result: usize = manager.send(200).await;
println!("result: {result}");
}