1/// Combine two values
2///
3/// This trait is used to represent types that can be chained, including
4/// middleware and resource values.
5pub trait Chain<U> {
6/// The combined type
7type Output;
89/// Combine `self` with `other`.
10fn chain(self, other: U) -> Self::Output;
11}