Idioms
Copy-Swap
Type erasure
Named constructors