The new match types of SIP-56 feature a stricter check to prevent some run-time unsoundness. This affects the line that is changed here. For example, for the second .head call, the type argument was previously inferred to RV & (F *: vts). The previous check that was too relaxed let it through, although RV is not fully defined. We still obtain valid code by passing the new explicit type arguments instead.
The new match types of SIP-56 feature a stricter check to prevent some run-time unsoundness. This affects the line that is changed here. For example, for the second
.head
call, the type argument was previously inferred toRV & (F *: vts)
. The previous check that was too relaxed let it through, althoughRV
is not fully defined. We still obtain valid code by passing the new explicit type arguments instead.