There are many places where it is necessary to include code within a template which will construct a link from a talk-page to the associated non-talk-page and vice versa, and the code to make this work in any given situation until recently required a whole slew of tightly-bound templates. It also seems to have been done in several different ways, and this duplication of effort is not necessarily helpful.
I have created prototype templates to perform these useful functions which use the {{switch}} template, newly developed to take advantage of recent upgrades in the template syntax. The resulting code is much simpler.
The prototypes are at [[User:Phil Boswell/ARTICLESPACE]] and [[User:Phil Boswell/TALKSPACE]]. The latter should always give the {{NAMESPACE}} for the talk page for where it is placed; the former works in the opposite direction.
Please could as many people as possible insert them into various places in as many namespaces as possible (temporarily using the Preview function obviously :-) and let me know if I've mucked anything up.
Please also take a look at my code and place any helpful criticisms you might have on the appropriate talk-page.
HTH HAND