What happens if the modified record has a different date or location?

Also, style nitpick, put one space between ```map``` and the curly brace:

```scala
val oldKeys = indexer.encode(original).map { case (k, v) => k }
```