> I don’t see why we need so many protocols
One great reason is to avoid M*N problem: https://matklad.github.io/2022/04/25/why-lsp.html