Esquinas redondeadas de un botón UIB en Swift

Sé que puedo redondear las cuatro esquinas usando:

 myBtn.layer.cornerRadius = 8
 myBtn.layer.masksToBounds = true

Como solo quiero la segunda ronda, investigué un poco y descubríesta:

extension UIView {
    func roundCorners(corners:UIRectCorner, radius: CGFloat) {
        let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
        let mask = CAShapeLayer()
        mask.path = path.CGPath
        self.layer.mask = mask
    }
}

Que se llama así:

view.roundCorners([.TopLeft , .TopRight], radius: 10)

Sin embargo, esto no funciona para un UIButton. Cuando cambio la extensión para que sea del tipo UIButton y le pase un botón, la salida se ve así:

La pregunta es, ¿cómo puedo adaptar esto para trabajar en un UIButton?

Respuestas a la pregunta(7)

Su respuesta a la pregunta