Defining traits to overload operators and customize the behavior of operators for user-defined types.