Improve effects for NamedTuple merge/diff fallback (#48262)
This fallback path is rarely used when the compiler is available.
However, inference does look at it to determine effects for the
entire method (side note, it's not entirely clear that this is
sound for `if @generated` methods, but that's a more general
problem). Previously inference was able to determine neither
effects nor return type for `merge`/`structdiff` of unknown
`NamedTuples`, which was problematic, because it prevented other
methods that made use of these primitives from having sufficient
effects to be eligible for concrete evaluation.
Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com>