Genericity with functions
beust.com