Specialisations seem to be the correct way to specialise, rather than redefining the base template. This removes a macro which instantiated methods individually.