E5_generic_programming_exercise_solution2