вот думаю над этим и проблем не вижу особо, а синтаксис (T,) равносилен T. разве что в компиляторе просто rust-call тот же надо будет подредачить (или просто сделать соответствие любого типа как "подобен кортежу из одного элемента" в том же кодгене и чекере rust-call аби)
А как тогда вариадик дженерики делать? Или условный Fn::Args?
правила раскрытия и упаковки вариадик генериков просто расписать с учетом этого и все, думаю
жаль избавиться от определения скалярного типа нельзя, получится бесконечная рекурсия определения типа...
А как отличить функцию fn((A, B)) от fn(A, B)?
С таким подходом есть одно значительное преимущество – никак. (И поэтому можно было бы вызываться сразу от тупла, очень удобно)
Обсуждают сегодня