Assignment 3 Template Specialisation and the STL