[boost] [core] Move underlying_type to type_traits?