FWIW, I think that the template patterns are deceptively simple but in fact are rather complicated to generalize mainly because there are so many ways to approach them. Perhaps it might be more productive in terms of this thread to start with a smaller, more narrowly defined concept. For example, cache access, resources/libraries, parsers, etc.

There seems also to be some issue in the thread about implementations following the interface (ie. needing to be re-written to the "standard"). This ought not be strictly so: emulation through adaptors should be sufficient.