Swiftで下記のコードのようにNSValueTransformerを使って値を変換しようとしています。

@objc (ImageTransformer)
class ImageTransformer: NSValueTransformer {
    override func transformedValue(value: AnyObject!) -> AnyObject? {
        let tweets = value as? Array<Tweet>;
        return tweets.map { (tweet: Tweet) -> Tweet in
            // 処理
        };
    }
}

このとき、AnyObjectをArrayにキャストして処理したいのですが、

'Array<Tweet>' is not a subtype of 'Tweet'

とエラーが出てしまいます。
Array<Tweet>mapで処理しているので、引数にはTweetが入って来ると思っているのですが違うのでしょうか。
AnyObjectをキャストしてmapで処理する方法を教えてください。