 
 // MARK: - Equality Constraints
 
-infix operator == {
-    associativity none
-    precedence 130
-}
-
 @discardableResult public func == (lhs: NSLayoutDimension, rhs: CGFloat) -> NSLayoutConstraint {
     return activateConstraint(lhs.constraint(equalToConstant: rhs))
 }


    private var includedEdges = LayoutEdge.All

    private init(top: NSLayoutYAxisAnchor, leading: NSLayoutXAxisAnchor, bottom: NSLayoutYAxisAnchor, trailing: NSLayoutXAxisAnchor) {
        self.top = top
        self.leading = leading
        self.bottom = bottom
        self.trailing = trailing
    }

    private func filter(_ filter: [LayoutEdge]) -> EdgeAnchors {
        var filteredAnchors = self
        filteredAnchors.includedEdges = includedEdges.filter { filter.contains($0) }



public struct LayoutExpression<T : LayoutAnchorType> {

    fileprivate var anchor: T?
    fileprivate var constant: CGFloat
    fileprivate var multiplier: CGFloat
    fileprivate var priority: UILayoutPriority

    fileprivate init(anchor: T? = nil, constant: CGFloat = 0.0, multiplier: CGFloat = 1.0, priority: UILayoutPriority = UILayoutPriorityRequired) {
        self.anchor = anchor
        self.constant = constant
        self.multiplier = multiplier
