Introduction
Protocol composition lets you combine multiple protocols into one requirement. It helps you say: "I want something that follows these rules together."
When a function needs a parameter that follows more than one protocol.
When you want to group behaviors without creating a new protocol.
When you want to write flexible code that works with different types sharing multiple features.