Built-in traits and operator overloading