                                             attribute: .left,
                                             multiplier: 1,
                                             constant: margin)
+        
+        if let priority = priority {
+            constraint.priority = priority
+        }
+        
         superview.addConstraint(constraint)
         
         return constraint

                                            attribute: .bottom,
                                            multiplier: 1,
                                            constant: margin)
        superview.addConstraint(constraint)
        
        return constraint
    }
    
    @discardableResult public func pinToSafeAreaLeft(_ margin: CGFloat = 0) -> NSLayoutConstraint {
        
        guard let superview = superview else { fatalError() }
        

    
    // MARK: - Pin to safe area
    
    @discardableResult public func pinToSafeAreaTop(_ margin: CGFloat = 0, priority: UILayoutPriority? = nil) -> NSLayoutConstraint {

        guard let superview = superview else { fatalError() }
        
