> java.lang.String and other types don't extend JsonValue
And that ladies and gentlemen is what Java's re-doing of TypeClasses (called "witness" in the experiments they're doing now) are for.