Generate explicit arg matches instead of head/tail in AsData decoders
Per review: the generated view function now binds the constructor's
arguments with an explicit list pattern
\case args_ of { [a0, a1, ...] -> Just (decode a0, decode a1, ...); _ -> Nothing }
instead of indexing with head/(tail^n). The generated code is now total, so
the AsData activation test drops -Wno-x-partial entirely.
Co-Authored-By: Claude Opus 4.8 <[email protected]>