     return LayoutExpression(constant: lhs, priority: rhs)
 }
 
-public func ~ <T: AnchorType>(lhs: T, rhs: UILayoutPriority) -> LayoutExpression<T> {
+public func ~ <T: LayoutAnchorType>(lhs: T, rhs: UILayoutPriority) -> LayoutExpression<T> {
     return LayoutExpression(anchor: lhs, priority: rhs)
 }
 
-public func ~ <T: AnchorType>(lhs: LayoutExpression<T>, rhs: UILayoutPriority) -> LayoutExpression<T> {
+public func ~ <T: LayoutAnchorType>(lhs: LayoutExpression<T>, rhs: UILayoutPriority) -> LayoutExpression<T> {
     var expr = lhs
     expr.priority = rhs
     return expr


// MARK: - EdgeAnchors

public struct EdgeAnchors: AnchorType {

    private var top: NSLayoutYAxisAnchor
    private var leading: NSLayoutXAxisAnchor

        return constraintsForAnchors(anchor, constant: c, priority: priority, builder: constraintBuilder)
    }

    private subscript (edge: LayoutEdge) -> LayoutAnchorType {
        switch edge {
        case .top:      return top
        case .leading:  return leading
