     /// - Returns: The resulting vector.
     @inlinable
     public static func * (lhs: CGVector, rhs: CGFloat) -> CGVector {
-        let factor = CGFloat(rhs)
-        let dx = lhs.dx * factor
-        let dy = lhs.dy * factor
-        
-        return CGVector(dx: dx, dy: dy)
-    }
-    
-    /// Multiplies a vector by the given value.
-    ///
-    /// - Parameters:
-    ///   - lhs: The vector.
-    ///   - rhs: The given value.
-    /// - Returns: The resulting vector.
-    @inlinable
-    public static func * (lhs: CGVector, rhs: Float80) -> CGVector {
-        let factor = CGFloat(rhs)
-        let dx = lhs.dx * factor
-        let dy = lhs.dy * factor
+        let dx = lhs.dx * rhs
+        let dy = lhs.dy * rhs
         
         return CGVector(dx: dx, dy: dy)
     }

    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: Double) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: Int16) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: UInt32) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: UInt) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: UInt16) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: Int32) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.
    ///
    /// - Parameters:
    ///   - lhs: The vector.
    ///   - rhs: The given value.
    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: UInt64) -> CGVector {
        let factor = CGFloat(rhs)
        let dx = lhs.dx * factor
        let dy = lhs.dy * factor
        
        return CGVector(dx: dx, dy: dy)
    }
    
    /// Multiplies a vector by the given value.

    /// - Returns: The resulting vector.
    @inlinable
    public static func * (lhs: CGVector, rhs: Int) -> CGVector {
        return lhs * CGFloat(rhs)
    }
    
    /// Multiplies a vector by the given value.
