         replaceConstraints(context.constraints, performLayout: true)
     }
 
-    mutating func layout(v1: View, _ v2: View, block: (LayoutProxy, LayoutProxy) -> ()) {
+    func layout(v1: View, _ v2: View, block: (LayoutProxy, LayoutProxy) -> ()) {
         let context = Context()
 
         block(LayoutProxy(context, v1), LayoutProxy(context, v2))

        replaceConstraints(context.constraints, performLayout: true)
    }

    mutating func layout(v1: View, _ v2: View, _ v3: View, block: (LayoutProxy, LayoutProxy, LayoutProxy) -> ()) {
        let context = Context()

        block(LayoutProxy(context, v1), LayoutProxy(context, v2), LayoutProxy(context, v3))

        replaceConstraints(context.constraints, performLayout: false)
    }

    func constrain(views: [View], block:([LayoutProxy]) -> ()) {
        let context = Context()

        block(views.map({ LayoutProxy(context, $0) }))
