From Mathematics to Generic Programming (2011)