C++: Yet More Funky Class Behaviour

Templated friends, direct initialisation, private inheritance and
mutants (not X-Men, unfortunately...)