The circularity here is confusing. The function uses the operator and the operator uses the function?