Generic programming
Skriva kod som fungerar för många typer utan att förlora typchecking. List<T>, Vec<T>, HashMap<K, V>.
Två huvudimplementationer: monomorphization (C++ templates, Rust, Swift — kompilatorn genererar en kopia per använd typ, snabbt men större binär) och type erasure (Java generics, TypeScript — en kopia, all typinfo strippas vid runtime). Go fick generics först 2022 (1.18) efter åratal av debatt. C++ Concepts (C++20) tämjer template-felmeddelanden.