 }
 extension LayoutGuide: CustomDebugStringConvertible {
     public var debugDescription: String {
-        return "\(self) {\n  - frame: \(frame)\n  - bounds: \(bounds)\n  - super: \(superElement)\n\(debugContentOfDescription)\n}"
+        return "\(self) {\n  - frame: \(frame)\n  - bounds: \(bounds)\n  - super: \(String(describing: superElement ?? nil))\n\(debugContentOfDescription)\n}"
     }
 }
 

    var didLoad: ((View) -> Void)?
    private weak var _view: View?
    open weak var view: View! {
        loadViewIfNeeded()
        return viewIfLoaded
    }
    open var isViewLoaded: Bool { return _view != nil }
    open var viewIfLoaded: View? { return _view }


    open func loadView() {
        if let l = load {
            self.view = l()
        } else {
            self.view = add(View.self)
        }
    }

