Недавно я спросил о том, как положить кучу замыканий с одной и той же сигнатурой в вектор в Rust. Исходя из фона Haskell, это выглядело немного сложным, с закрытием Rust, каждый из которых имел свои собственные уникальные типы и нуждался в чертах для их представления. В Haskell lambda набирается своей сигнатурой, и если подпись та же, тип тот же.
Существует ли семантическая разница между закрытием Rust и функцией лямбда Haskell, которая делает эти различия?