 
     - parameter view: The subview to move to the back.
     */
-    public func sendToBack<T>(subview:T) {
+    public func sendToBack<T>(subview: T?) {
         if let v = subview as? UIView {
             view.sendSubviewToBack(v)
         } else if let v = subview as? C4View {
             view.sendSubviewToBack(v.view)
+        } else {
+            fatalError("Can't operate on subview of class `\(subview.dynamicType)`")
         }
     }
 


    - parameter view: The subview to move to the front.
    */
    public func bringToFront<T>(subview:T) {
        if let v = subview as? UIView {
            self.bringSubviewToFront(v)
        } else if let v = subview as? C4View {
            self.bringSubviewToFront(v.view)
        }
    }
}


    - parameter view:	The view to be removed.
    */
    public func remove<T>(subview: T?) {
        if let v = subview as? UIView {
            v.removeFromSuperview()
        } else if let v = subview as? C4View {
            v.view.removeFromSuperview()
        } else {
            fatalError("Can't remove subview of class `\(subview.dynamicType)`")
        }
    }
    
