Playing around with Swift Differences when overloading functions and operators Operator overloads using non-generics types (like Float) are preferred over generics (like <I: BinaryInteger>). Function overloads have no preference. See playground diff-overloading-functions-operators.