 
     - 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 {
             self.sendSubviewToBack(v)
         } else if let v = subview as? C4View {
             self.sendSubviewToBack(v.view)
+        } else {
+            fatalError("Can't operate on subview of class `\(subview.dynamicType)`")
         }
     }
 


    - 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()
        }
    }
    


    - parameter view: The subview to move to the back.
    */
    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)`")
        }
    }

