From mathematics to generic programming - Stepanov, Alexander A. (Addison-Wesley, 2015)