_ (Nota técnica: Para simplificar a situação, nos restringiremos a armazenar em cache os resultados de apenas funções que aceitam exatamente um parâmetro, pois a rust atualmente não suporta genéricos variados.) Os módulos no estilo ML podem “ocultar” os tipos genéricos emUma maneira pela qual as funções genéricas por si só não podem realizar (nota técnica: usando uma forma de tipos existenciais).Uma função genérica simples como compute_cached & lt; b: back -end> não funciona, pois queremos que ela armazene o estado.No entanto, com alguns recursos adicionais (tipos associados), podemos simular módulos no estilo ML na rust.A primeira coisa que faremos é converter nossos tipos de funções em características (nota técnica: em última análise, uma forma de desnutalização).
Fonte: https://blog.waleedkhan.name/encoding-ml-style-modules-in-rust/