I think we should kick the Json.apply() methods and only have Json.obj(fields: (String, Any)*) and Json.arr(fields: Any*) then. It's a bit more verbose than using Json(...stuff...) but since we always need to put a Seq[Any] in for arrays, that means you always have to do a Json.arr(List(...)) instead of being able to do Json.arr(x1, x2, ...)