More template madness. I really wish we had `static if`.