there should be some way to define implicit casts either to or from user defined types. this would greatly reduce the amount of code since functions would no longer have to be overloaded for as many times. ex: a fraction class does not need to overload opAdd since integers can be implictly converted to fractions.