         return collection
     }
 
+    /**
+        Constrains the object's leading & trailing edges to be greater than or equal
+        to the leading & trailing edge of `item`
+     
+        - parameter item: The `item` you want to constrain the current object to
+        - parameter constant: The amount to add to the constraint equation
+          after the multiplier.
+        - parameter multiplier: The ratio altering the constraint relative to
+          leading & trailing edge of the item prior to the `constant` being applied.
+        - parameter priority: The priority this constraint uses when being
+          evaluated against other constraints
+
+        - returns: Constraint collection containing the generated constraint
+    */
     @discardableResult
     open func expand(fromVerticalEdgesOf item: Any?,
         offsetBy offset: CGFloat = 0.0, multiplier: CGFloat = 1.0,

        return collection
    }

    @discardableResult
    open func expand(fromEdgesOf item: Any?,
        offsetBy offset: CGFloat = 0.0, multiplier: CGFloat = 1.0,

        return collection
    }

    /**
        Constrains the object's trailing edge to be greater than or equal to the
        leading edge of `item`
     
        - parameter item: The `item` you want to constrain the current object to
        - parameter constant: The amount to add to the constraint equation
          after the multiplier.
        - parameter multiplier: The ratio altering the constraint relative to
          trailing edge of the item prior to the `constant` being applied.
        - parameter priority: The priority this constraint uses when being
          evaluated against other constraints

        - returns: Constraint collection containing the generated constraint
    */
    @discardableResult
    open func expand(fromTrailingEdgeOf item: Any?,
        offsetBy offset: CGFloat = 0.0,
