Argonaut.hs port broadly identical to Json.scala from the Scala build.