[boost] traits classes vs. metafunctions