Converter carimbos de data / hora em intervalos no Scala

Escrevi uma função simples que converte carimbos de data / hora em intervalos entre eles.

def toIntervals(timestamps: List[String]): List[Long] = {
if (timestamps.tail.isEmpty) List()
else {
val first
= timestamps.head.toLong
val second
= timestamps.tail.head.toLong
val newHead
= second - first
newHead
:: toIntervals(timestamps.tail)
}
}

Bom ajudante simpático, mas você pode fazer melhor !

def toIntervals(timestamps: List[String]): List[Long] = {
val times
= timestamps.map(_.toLong)
(timestail, times).zipped.map(_ - _)
}