I understand this is illegal in Rust:
trait A { }
struct S { a: A, b: A }
The reason is that all members except the last one must be sized, and a trait is not sized.
Does this mean it is impossible to have a struct/tuple of traits? How would I return a pair of values from a function and I only know that they implement a certain trait?