-template<> struct Protocol::Traits<Int8>: BasicTraits<Int8, 'I'> { };
-template<> struct Protocol::Traits<UInt8>: BasicTraits<UInt8, 'U'> { };
-template<> struct Protocol::Traits<Int16>: BasicTraits<Int16, 'I'> { };
-template<> struct Protocol::Traits<UInt16>: BasicTraits<UInt16, 'U'> { };
-template<> struct Protocol::Traits<Int32>: BasicTraits<Int32, 'I'> { };
-template<> struct Protocol::Traits<UInt32>: BasicTraits<UInt32, 'U'> { };
-template<> struct Protocol::Traits<Int64>: BasicTraits<Int64, 'I'> { };
-template<> struct Protocol::Traits<UInt64>: BasicTraits<UInt64, 'U'> { };
+template<> struct Protocol::Traits<bool>: BasicTraits<bool, 'B'> { };
+template<> struct Protocol::Traits<std::int8_t>: BasicTraits<std::int8_t, 'I'> { };
+template<> struct Protocol::Traits<std::uint8_t>: BasicTraits<std::uint8_t, 'U'> { };
+template<> struct Protocol::Traits<std::int16_t>: BasicTraits<std::int16_t, 'I'> { };
+template<> struct Protocol::Traits<std::uint16_t>: BasicTraits<std::uint16_t, 'U'> { };
+template<> struct Protocol::Traits<std::int32_t>: BasicTraits<std::int32_t, 'I'> { };
+template<> struct Protocol::Traits<std::uint32_t>: BasicTraits<std::uint32_t, 'U'> { };
+template<> struct Protocol::Traits<std::int64_t>: BasicTraits<std::int64_t, 'I'> { };
+template<> struct Protocol::Traits<std::uint64_t>: BasicTraits<std::uint64_t, 'U'> { };