     ///   - padding: Optional padding to add between the anchors.
     /// - Returns: Array of activated `NSLayoutConstraint` objects that were created.
     @discardableResult
-    func pin<View:Pins>(to view: View, padding: CGFloat = 0.0) -> [NSLayoutConstraint] {
+    public func pin<View:Pins>(to view: View, padding: CGFloat = 0.0) -> [NSLayoutConstraint] {
         var constraints = [NSLayoutConstraint]()
 
         constraints.append(pin(.leading, to: view, padding: padding))

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

        return disableTranslatesAutoresizingMaskAndActivate(constraint)

    ///   - padding: Optional padding to add between the anchors.
    /// - Returns: The activated `NSLayoutConstraint` object that was created.
    @discardableResult
    public func pin(_ edge: VerticalAnchor, greaterThanOrEqualTo anchorAttachment: NSLayoutAnchor<NSLayoutYAxisAnchor>, padding: CGFloat = 0.0) -> NSLayoutConstraint {
        let constraint = anchor(self, for: edge).constraint(greaterThanOrEqualTo: anchorAttachment,
                                                            constant: convertPadding(edge, padding))

