playframework/Play20 — comment on commit 1accc6ad5c2cef63fc8216bd237f2d026c2e1c98
File:  line 0
By julienrf:

Another solution could be to define `value` with an abstract type:

```scala
sealed trait JsValue {
type Value
def value: Value
}

case class JsString(val value: String) extends JsValue {
type Value = String
}

…
```