Not sure, the *_impl.h files are kind of common in template programming to mimic the *.h and *.cpp separation. I'd argue that this is a common idiom.