     /// 32-bit architectures and Double on 64-bit architectures.
     /// We assume 64 bit for now
     public typealias NativeType = Double
-    @_transparent public init() {
+    public init() {
         self.native = 0.0
     }
-    @_transparent public init(_ value: Float) {
+    public init(_ value: Float) {
         self.native = NativeType(value)
     }
-    @_transparent public init(_ value: Double) {
+    public init(_ value: Double) {
         self.native = NativeType(value)
     }
     /// The native value.

public struct CGRect {
    public var origin: CGPoint
    public var size: CGSize
    @_transparent public init() {
        self.origin = CGPoint()
        self.size = CGSize()
    }
    @_transparent public init(origin: CGPoint, size: CGSize) {
        self.origin = origin
        self.size = size
    }

public struct CGPoint {
    public var x: CGFloat
    public var y: CGFloat
    public init() {
        self.x = CGFloat()
        self.y = CGFloat()
    }
    public init(x: CGFloat, y: CGFloat) {
        self.x = x
        self.y = y
    }
