Գրեք սա: The right kind of generic programming