pub type Edges<'a, E> = Cow<'a, [E]>;
enum Edges<'a, E> { Borrowed(&'a [E]), Owned(<[E] as ToOwned>::Owned), }
Borrowed data.
Owned data.