The other problem with the alias trick is that you can't alias a private member. Which means that something like this doesn't work: class Foo { private char[] toStringImpl() { ... } version( Tango ) alias toStringImpl toUtf8; else alias toStringImpl toString; } Which, of course, extends to string mixins. -- Daniel