I had hoped Swift 2 would add support for covariant and contravariant generic type parameters, but I can't find any mention of this.
It seems the new lightweight generics for Objective-C do support covariance and contravariance, with NSArray being defined as:
@interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration>
Will a similar feature be available in Swift soon?
I'm aware Using Swift with Cocoa and Objective-C mentions lightweight generics other than those in the Foundation collection classes are currently ignored when imported in Swift, but it seems this is would be a temporary limitation.