Generics are a first class feature in Rust. Generics alone can provide flexible structure, together with traits, they can provide incredibly flexible functionality. But as an introduction, we will focus on the structure first.