     /// - Parameters:
     ///   - lhs: The point to multiply components.
     ///   - rhs: The value to multiply.
-    @inlinable
-    static func *<I: BinaryInteger>(lhs: CGPoint, rhs: I) -> CGPoint {
-        lhs * CGFloat(rhs)
-    }
-    
-    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
-    /// - Parameters:
-    ///   - lhs: The point to multiply components.
-    ///   - rhs: The value to multiply.
-    @inlinable
-    static func *<F: BinaryFloatingPoint>(lhs: CGPoint, rhs: F) -> CGPoint {
-        lhs * CGFloat(rhs)
-    }
-    
-    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
-    /// - Parameters:
-    ///   - lhs: The point to multiply components.
-    ///   - rhs: The value to multiply.
-    @inlinable
-    static func *<I: BinaryInteger>(lhs: CGPoint, rhs: (x: I, y: I)) -> CGPoint {
-        .init(x: lhs.x * CGFloat(rhs.x), y: lhs.y * CGFloat(rhs.y))
-    }
-    
-    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
-    /// - Parameters:
-    ///   - lhs: The point to multiply components.
-    ///   - rhs: The value to multiply.
-    @inlinable
-    static func *<F: BinaryFloatingPoint>(lhs: CGPoint, rhs: (x: F, y: F)) -> CGPoint {
-        .init(x: lhs.x * CGFloat(rhs.x), y: lhs.y * CGFloat(rhs.y))
-    }
-    
-    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
-    /// - Parameters:
-    ///   - lhs: The point to multiply components.
-    ///   - rhs: The value to multiply.
-    @inlinable
-    static func *(lhs: CGPoint, rhs: CGFloat) -> CGPoint {
-        CGPoint(x: lhs.x * rhs, y: lhs.y * rhs)
-    }
-    
+    @inlinable static func * <I: BinaryInteger>(lhs: CGPoint, rhs: I) -> CGPoint {
+        .init(simd2: lhs.simd2 * rhs.native)
+    }
+    
+    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
+    /// - Parameters:
+    ///   - lhs: The point to multiply components.
+    ///   - rhs: The value to multiply.
+    @inlinable static func * <F: BinaryFloatingPoint>(lhs: CGPoint, rhs: F) -> CGPoint {
+        .init(simd2: lhs.simd2 * rhs.native)
+    }
+    
+    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
+    /// - Parameters:
+    ///   - lhs: The point to multiply components.
+    ///   - rhs: The value to multiply.
+    @inlinable
+    static func * (lhs: CGPoint, rhs: CGFloat.NativeType) -> CGPoint {
+        .init(simd2: lhs.simd2 * rhs)
+    }
+    
+    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
+    /// - Parameters:
+    ///   - lhs: The point to multiply components.
+    ///   - rhs: The value to multiply.
+    @inlinable
+    static func * <I: BinaryInteger>(lhs: CGPoint, rhs: (x: I, y: I)) -> CGPoint {
+        .init(simd2: lhs.simd2 * .init(rhs.x.native, rhs.y.native))
+    }
+    
+    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
+    /// - Parameters:
+    ///   - lhs: The point to multiply components.
+    ///   - rhs: The value to multiply.
+    @inlinable
+    static func * <F: BinaryFloatingPoint>(lhs: CGPoint, rhs: (x: F, y: F)) -> CGPoint {
+        .init(simd2: lhs.simd2 * .init(rhs.x.native, rhs.y.native))
+    }
+    
+    /// Multiplies `x` and `y` by the given value and returns the resulting `CGPoint`.
+    /// - Parameters:
+    ///   - lhs: The point to multiply components.
+    ///   - rhs: The value to multiply.
+    @inlinable
+    static func * (lhs: CGPoint, rhs: (x: CGFloat.NativeType, y: CGFloat.NativeType)) -> CGPoint {
+        .init(simd2: lhs.simd2 * .init(rhs.x, rhs.y))
+    }
     
     /// Multiplies a point's components by another one's and returns the resulting `CGPoint`.
     /// - Parameters:
     ///   - lhs: A point to multiply.
     ///   - rhs: Another point the multiply.
-    @inlinable
-    static func *(lhs: CGPoint, rhs: CGPoint) -> CGPoint {
-        CGPoint(x: lhs.x * rhs.x, y: lhs.y * rhs.y)
+    @inlinable static func * (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
+        .init(simd2: lhs.simd2 * rhs.simd2)
     }
     
     /// Divides `x` and `y` by the given value and returns the resulting `CGPoint`.

    ///   - lhs: The point to divide components.
    ///   - rhs: The value to devide by.
    @inlinable
    static func /<I: BinaryInteger>(lhs: CGPoint, rhs: I) -> CGPoint {
        lhs / CGFloat(rhs)
    }
    
    /// Divides `x` and `y` by the given value and returns the resulting `CGPoint`.

    ///   - lhs: The point to divide components.
    ///   - rhs: The value to devide by.
    @inlinable
    static func / <F: BinaryFloatingPoint>(lhs: CGPoint, rhs: F) -> CGPoint {
        .init(simd2: lhs.simd2 / rhs.native)
    }
    
    /// Divides `x` and `y` by the given value and returns the resulting `CGPoint`.
    /// - Parameters:
    ///   - lhs: The point to divide components.
    ///   - rhs: The value to devide by.
    @inlinable
    static func / (lhs: CGPoint, rhs: CGFloat.NativeType) -> CGPoint {
        .init(simd2: lhs.simd2 / rhs)
    }
    
    /// Divides a point's components by another one's and returns the resulting `CGPoint`.
