- call.go: guard against struct fields > ABI output count (panic)
- call.go: check field.CanSet() before field.Set() (panic on unexported fields)
- caller.go: set call.Failed=true when CanFail=true and unpack fails
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>