 postfix operator |
 postfix operator -|
 
-public struct VFLComponent: ExpressibleByArrayLiteral, ExpressibleByFloatLiteral, ExpressibleByIntegerLiteral {
+// used for UILayoutPriority
+infix operator .~: MultiplicationPrecedence
+
+public struct VFLComponent: ExpressibleByArrayLiteral, ExpressibleByDictionaryLiteral, ExpressibleByFloatLiteral, ExpressibleByIntegerLiteral {
     public var format = ""
+    
+    // ExpressibleByArrayLiteral
     var viewDict = [String: UIView]()
-    
     public typealias Element = UIView
     public init(arrayLiteral elements: Element...) {
         guard elements.count == 1 else {

    }
    return result
}

/// usage: let constraints = NSLayoutConstraints(H:|-[view1]-(>=5)-[view2]-3-|)
extension Array where Element: NSLayoutConstraint {
    public init(H: VFLComponent, options: NSLayoutFormatOptions = []) {
        self = NSLayoutConstraint.constraints(withVisualFormat: "H:" + H.format, options: options, metrics: H.metricDict, views: H.viewDict) as! [Element]

        metricDict[vflKey(number)] = number
        self.format = key
    }
    
}

private extension VFLComponent {
    var isWrapped: Bool {
        return self.format.hasPrefix("(") && self.format.hasSuffix(")")
    }
}

// MARK: - operators
