Intersections
Intersections in programming define a type that must encompass all the constituents of the intersection. You can declare an intersection using the &
operator.
alias Dog = Animal & Pet;
An intersection is functionally equivalent to spreading both types.
alias Dog = {
...Animal;
...Pet;
};