[boost] type_traits/call_traits and function_traits : Why are they separate