You can clone with
Freeze the middleware stack after it's built
So apps that accidentally add middlewares later aren't unwittingly dumping them in a black hole.
Simplify middleware stack lazy compares using named const references
Complain if there's no such middleware