Desenhar furo no UIBlurEffect

Xcode 8.0 - Swift 2.3
Eu tenho uma extensão interna para criar uma camada de desfoque que funciona muito bem:

internal extension UIView {

    /**
     Add and display on current view a blur effect.
     */
    internal func addBlurEffect(style style: UIBlurEffectStyle = .ExtraLight, atPosition position: Int = -1) -> UIView {
        // Blur Effect
        let blurEffectView = self.createBlurEffect(style: style)
        if position >= 0 {
            self.insertSubview(blurEffectView, atIndex: position)
        } else {
            self.addSubview(blurEffectView)
        }
        return blurEffectView
    }

    internal func createBlurEffect(style style: UIBlurEffectStyle = .ExtraLight) -> UIView {
        let blurEffect = UIBlurEffect(style: style)
        let blurEffectView = UIVisualEffectView(effect: blurEffect)
        blurEffectView.frame = self.bounds
        blurEffectView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
        return blurEffectView
    }

}

A pergunta é: como posso adicionar um furo moldado na sobreposição de desfoque? Eu fiz muitas tentativas:

let p = UIBezierPath(roundedRect: CGRectMake(0.0, 0.0, self.viewBlur!.frame.width, self.viewBlur!.frame.height), cornerRadius: 0.0)
p.usesEvenOddFillRule = true
let f = CAShapeLayer()
f.fillColor = UIColor.redColor().CGColor
f.opacity = 0.5
f.fillRule = kCAFillRuleEvenOdd
p.appendPath(self.holePath)
f.path = p.CGPath
self.viewBlur!.layer.addSublayer(f)

mas o resultado é:

Não consigo entender por que o buraco está bomUIVisualEffectView mas não em_UIVisualEffectBackdropView

ATUALIZAR

Eu tentei a solução @Arun (com UIBlurEffectStyle.Dark), mas o resultado não é o mesmo:

ATUALIZAÇÃO 2

Com a solução do @ Dim_ov, tenho:

Para fazer isso funcionar, preciso esconder_UIVisualEffectBackdropViewnesse caminho:

    for v in effect.subviews {
        if let filterView = NSClassFromString("_UIVisualEffectBackdropView") {
            if v.isKindOfClass(filterView) {
                v.hidden = true
            }
        }
    }