Today is hard, tomorrow will be worse.
esv::mtx is the char type of esv::class_type, it is 'char', neither 'unsigned char' nor 'signed char'. At first, esvcpp has esv::ux8, which is 'unsigned char', and esv::i8, which is 'signed char', but then 'char' is found useful in some case, so esv::mtx is added for 'char'. All arithmetic and bitwise operators are available for esv::mtx, and it has class features and character features.
esv::mtx - esv::mt, the class type of esv::mt.
#include <esvcpp/core.hpp> int main() { constexpr esv::mtx x = 'H'; esv::print(x, x(), x.value()); // H H H }