- [ ] supertraits `FooBar: Foo + Bar` - [ ] trait objects `Box<Foo>`, `&Foo` - [ ] "function overloading" using double dispatch: `Vec` \* `Vec` and `Vec` \* `int`