Thud, thud, thud...

Pure virtual functions in template classes: necessary evil or tool of the devil?