We should be able to query the `nextKey: Option[T]` from a TreeMap[T, U] that is using the Sorted[T] interface. We also think the firstKey and lastKey implementations should not throw a NoSuchElementException but return Option[T] as well. We do not want to create a new iterator (such as keySet would do) or a new collection (as dropWhile would do).
Seems to me like this would be implemented with some kind of pointer to "currentKey" in the collection. Which worries me because now we'd have to pay attention to concurrency issues.