# SE-0204: Add last(where:) and lastIndex(where:) methods; rename index(of:) and index(where:) methods

**URL:** <https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods-rename-index-of-and-index-where-methods/11486>\
**Category:** Proposal Reviews\
**Created:** [March 29, 2018, 7:48pm UTC](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods-rename-index-of-and-index-where-methods/11486 "2018-03-29T19:48:56Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![John\_McCall](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/john_mccall/32/1351_2.png) [@John\_McCall](https://forums.swift.org/u/John_McCall)\
**Post date:** [April 4, 2018, 6:19pm UTC](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods-rename-index-of-and-index-where-methods/11486/21 "2018-04-04T18:19:11Z")

</div>

**Proposal Update**

The core team discussed this today, and we've decided to revise this proposal by including the rename of `index(of:)` to `firstIndex(of:)` and `index(where:)` to `firstIndex(where:)`, as described in the alternatives section of the proposal.

Renaming functions must meet a fairly high bar, but we felt that this rename is worth considering because:

- It firmly establishes `first...` and `last...` as consistently-named families of analogous functions.
- It leaves `index...` to be just the index-manipulation functions such as `index(after:)`, which do not access the elements of the collection.

That is, it creates or reinforces a number of general patterns in the naming of functions on `Collection`.

**Accordingly, the proposal will be revised to include these renames, and the review period has been extended to next Tuesday, April 10th.**

---

_[View the full topic](https://forums.swift.org/t/se-0204-add-last-where-and-lastindex-where-methods-rename-index-of-and-index-where-methods/11486)._
