 }
 
 public func +<
-    EC1 : _ExtensibleCollectionType,
-    EC2 : _ExtensibleCollectionType
+    EC1 : ExtensibleCollectionType,
+    EC2 : ExtensibleCollectionType
     where EC1.Generator.Element == EC2.Generator.Element
 >(var lhs: EC1, rhs: EC2) -> EC1 {
   // FIXME: what if lhs is a reference type?  This will mutate it.

//
//===----------------------------------------------------------------------===//

/// This protocol is an implementation detail of `ExtensibleCollectionType`; do
/// not use it directly.
///
/// Its requirements are inherited by `ExtensibleCollectionType` and thus must
/// be satisfied by types conforming to that protocol.
public protocol _ExtensibleCollectionType : CollectionType {
  /// Create an empty instance.
  init()


}

public func +<
    C : ExtensibleCollectionType,
    S : CollectionType
    where S.Generator.Element == C.Generator.Element
>(var lhs: C, rhs: S) -> C {
