You should make the return type explicit:
```scala
JsValue#transform[A <: JsValue](reads: Reads[A]): JsResult[JsValue]
```