     }
 }
 
+// MARK: - Equations of type v.P == v'.P' + X
+
 @discardableResult
 public func == (left: SteviaAttribute, right: SteviaAttribute) -> NSLayoutConstraint {
     let constant = right.constant ?? 0

public func % (left: CGFloat, right: SteviaAttribute) -> SteviaAttribute {
    return right * (left/100)
}

    if let spv = left.view.superview {
        return spv.addConstraint(item: left.view,
                                 attribute: left.attribute,
                                 toItem: right.view,
                                 attribute: right.attribute,
                                 multiplier : multiplier,
                                 constant:constant)
    }
    return NSLayoutConstraint()
}

@discardableResult
public func >= (left: SteviaAttribute, right: SteviaAttribute) -> NSLayoutConstraint {
    let constant = right.constant ?? 0
    let multiplier = right.multiplier ?? 1
    if let spv = left.view.superview {
        return spv.addConstraint(item: left.view,
                                 attribute: left.attribute,
                                 relatedBy: .greaterThanOrEqual,
                                 toItem: right.view,
                                 attribute: right.attribute,
                                 multiplier : multiplier,
                                 constant:constant)
    }
    return NSLayoutConstraint()
}

@discardableResult
public func <= (left: SteviaAttribute, right: SteviaAttribute) -> NSLayoutConstraint {
    let constant = right.constant ?? 0
    let multiplier = right.multiplier ?? 1
    if let spv = left.view.superview {
        return spv.addConstraint(item: left.view,
                                 attribute: left.attribute,
                                 relatedBy: .lessThanOrEqual,
                                 toItem: right.view,
                                 attribute: right.attribute,
                                 multiplier : multiplier,
