     }
     
     block(dict)
-    group.replaceConstraints(context.constraints)
+    constraintGroup.replaceConstraints(context.constraints)
 
-    return group
+    return constraintGroup
 }
 
 /// Removes all constraints for a group.

///                      replaced.
/// - parameter block:   A block that declares the layout for `views`.
///
@discardableResult public func constrain<T: Hashable>(_ views: [T: View], replace group: ConstraintGroup = ConstraintGroup(), block: (([T : LayoutProxy]) -> ())) -> ConstraintGroup {
    let context = Context()
    let proxies = views.map { ($0, LayoutProxy(context, $1)) }
    var dict = [T:LayoutProxy]()

///                      replaced.
/// - parameter block:   A block that declares the layout for `view`.
///
@discardableResult public func constrain(_ view: View, replace group: ConstraintGroup? = nil, block: (LayoutProxy) -> ()) -> ConstraintGroup {
    let constraintGroup = group ?? ConstraintGroup()
    let context = Context()
    block(LayoutProxy(context, view))
    constraintGroup.replaceConstraints(context.constraints)

    return constraintGroup
}

/// Updates the constraints of two views.
