... I'd almost always prefer a non-string-mixin solution.

 ... actually writing out the different signatures ...

+1

From a maintenance/sanity standpoint, I'd much rather have a little bit of duplication over one large if/else'd string mixin.  It is much easier to figure out exactly what is going on, and what the intent is, without having to pragma(msg) everything first.