     return dot.derivative.roots.sorted(by: { dot.eval($0) })
 }
 
-func SplitBezier(_ t: Double, _ p: [Double]) -> ([Double], [Double]) {
+private func SplitBezier(_ t: Double, _ p: [Double]) -> ([Double], [Double]) {
     let _t = 1 - t
     if p.count == 2 {
         let split = _t * p.first! + t * p.last!

    return de
}

func BezierDerivative(_ p: [Point]) -> [Point] {
    let n = Double(p.count - 1)
    var de = [Point]()
    var lastPoint = p.first!

    return result
}

@_transparent
private func BezierDerivative(_ p: [Double]) -> [Double] {
    let n = Double(p.count - 1)
    var de = [Double]()
    var lastPoint = p.first!
