на выходе даст массив [unit, tuple, 'unit to [a,b]'] [unit, none, 'unit to new unit'] [tuple, unit, '[c,d] to unit'] [tuple, tuple, '[c,d] to [a,b]'] [tuple, none, '[c,d] to new unit']
а ведь это даже не половина решения, сгенерированные тесты ещё предстоит свернуть обратно, чтобы рендерить не каждую ошибку а лишь ожидаемый её шаблон и кейсы которые ему не соответствуют
я кстати не стал публиковать наработки по снапшотам типов потому что чувствовал, что это полумеры и что итоговое решение будет отличаться от ручных снапшотов так же сильно как ручные снапшоты от традиционного //@ts-expect-error
а, да, в целом это не чейнджлог а роадмап, все новые фичи могут сдвинуться как вперёд к 22.1 так и назад, к 21.9
мажор в плане новых фич не обязан быть выдающимся, но если фича становится готовой именно к нему, то откладывать или ускорять её смысла нет: merge и split были опубликованы в 20.0, потому что были написаны в это время и вышли сразу как были готовы