     let split = SplitBezier(t, subpath)
     return ([p.first!] + split.0, split.1 + [p.last!])
 }
-func SplitBezier(_ t: [Double], _ p: [Double]) -> [[Double]] {
+@_transparent
+private func SplitBezier(_ t: [Double], _ p: [Double]) -> [[Double]] {
     var result: [[Double]] = []
     var remain = p
     var last_t = 0.0

    return result
}

func SplitBezier(_ t: Double, _ p: [Point]) -> ([Point], [Point]) {
    let _t = 1 - t
    if p.count == 2 {
        let split = _t * p.first! + t * p.last!

        let cy2 = _y + _t * dx * r.y
        
        return [Point(x: cx1 * _cos - cy1 * _sin, y: cx1 * _sin + cy1 * _cos),
                Point(x: cx2 * _cos - cy2 * _sin, y: cx2 * _sin + cy2 * _cos)]
    }
    
    return []
