E5_generic_programming_exercise