func unsafeDowncast<T>(_: AnyObject) Returns: x as T Requires: x is T. In particular, in -O builds, no test is performed to ensure that x actually has dynamic type T. Danger: trades safety for performance. Use unsafeDowncast only when x as T has proven to be a performance problem and you are confident that, always, x is T. It is better than an unsafeBitCast because it's more restrictive, and because checking is still performed in debug builds. Declaration func unsafeDowncast<T>(x: AnyObject) -> T