Nonmember operator overloads (unfinished)