         }
     }
 }
-extension ViewPlaceholder: AdjustLayoutConstraint where View: AdjustableLayoutElement {
+extension ViewPlaceholder: AdjustableLayoutElement where View: AdjustableLayoutElement {
     open var contentConstraint: RectBasedConstraint { return isElementLoaded ? element.contentConstraint : LayoutAnchor.Constantly(value: .zero) }
 }
 


    open func loadView() {
        if let l = load {
            let v = l()
            _view = v
            owningView?.addSubview(v)
        } else {
            _view = add(View.self)
        }
    }


    var didLoad: ((View) -> Void)?
    private weak var _view: View?
    open weak var view: View! {
        set {
            if _view !== newValue {
                _view?.removeFromSuperview()
                _view = newValue
                if let v = newValue {
                    owningView?.addSubview(v)
                    _view?.translatesAutoresizingMaskIntoConstraints = false
                    viewDidLoad()
                }
            }
        }
        get {
            loadViewIfNeeded()
            return viewIfLoaded
        }
    }
    open var isViewLoaded: Bool { return _view != nil }
    open var viewIfLoaded: View? { return _view }
