これで「Jsonパース自体は空配列として成功してるけど、要素がないから手動で失敗扱いにする」ことができます。これはパースした結果のListをみて処理を書いてもそう大きな差はないと思います。(6)までと違い、パース自体はできているのですから。結果から処理したほうが分かりやすいかもしれませんね。(8)要素が9個以上の型のパース実は地味に厄介なのがコレ。要素8つの型にまでは対応できるのですが、それ以上は対応できません。そこで登場するのが、decode-pipelineライブラリ上のgithubリンクを見れば分かりますが、要素数が8以下でも直感的に記述できて非常に便利です。