fix abstract_eval_cfunction mistakes (#56856)
Noticed in code reading, that 35e4a1f9689f4b98f301884e0683e4f07db7514b
simplified this incorrectly resulting in all arguments being assigned to
the function type, and then 7f8635f11cae5f3f592afcc7b55c8e0e23589c3d
further broke the return type expected for the failure case.
Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>