this is not the semigroup here. You are not using the `implicitly[Semigroup[Timestamp]]` Update it to something like:

```scala
val semigroup = {
  implicit val tsSg = new Semigroup[Timestamp] {
    def plus(a: Timestamp, b: Timestamp) = b
    override def sumOption(ti: TraversableOnce[Timestamp]) = if(ti.isEmpty) None
      else {
        var last: Timestamp = null
        ti.foreach { last = _ }
        last
      }
  }
}
```