     /// - Returns: The activated `NSLayoutConstraint` object that was created.
     @discardableResult
     func pin(_ edge: HorizontalAnchor, greaterThanOrEqualTo anchorAttachment: NSLayoutAnchor<NSLayoutXAxisAnchor>, padding: CGFloat = 0.0) -> NSLayoutConstraint {
-        let constraint = anchor(for: edge).constraint(greaterThanOrEqualTo: anchorAttachment, constant: padding)
+        let constraint = anchor(self, for: edge).constraint(greaterThanOrEqualTo: anchorAttachment, constant: padding)
 
         return disableTranslatesAutoresizingMaskAndActivate(constraint)
     }

    /// - Returns: The activated `NSLayoutConstraint` object that was created.
    @discardableResult
    func pin(_ dimension: DimensionAnchor, lessThanOrEqualTo anchorAttachment: NSLayoutAnchor<NSLayoutDimension>, padding: CGFloat = 0.0) -> NSLayoutConstraint {
        let constraint = anchor(for: dimension).constraint(lessThanOrEqualTo: anchorAttachment, constant: padding)

        return disableTranslatesAutoresizingMaskAndActivate(constraint)
    }

    /// - Returns: The activated `NSLayoutConstraint` object that was created.
    @discardableResult
    func pin(_ dimension: DimensionAnchor, lessThanOrEqualTo size: CGFloat) -> NSLayoutConstraint {
        let constraint = anchor(self, for: dimension).constraint(lessThanOrEqualToConstant: size)

        return disableTranslatesAutoresizingMaskAndActivate(constraint)
    }
