 
 /// A collection whose element type is `Element` but that is always empty.
 public struct EmptyCollection<Element> :
-  RandomAccessCollection
-  // FIXME: swift-3-indexing-model - conform to MutableCollection as well
+  RandomAccessCollection, MutableCollection
 {
   /// A type that represents a valid position in the collection.
   ///

    return 0
  }

  // TODO: swift-3-indexing-model - fast fail any others from RandomAccessCollection (and up inheritance)?
}


  /// Should never be called, since this collection is always empty.
  public subscript(position: Index) -> Element {
    // TODO: swift-3-indexing-model: tests for traps.
    get {
      _preconditionFailure("Index out of range")
    }
    set {
      _preconditionFailure("Index out of range")
    }
  }

  public subscript(bounds: Range<Index>) -> EmptyCollection<Element> {
    get {
      _preconditionFailure("Index out of range")
    }
    set {
      _preconditionFailure("Index out of range")
    }
  }

  /// The number of elements (always zero).
