O processo de monomorfização e especialização foi dividido em cinco solicitações de tração: Parte 1, Parte 2, Parte 3, Parte 4 e Parte 5. Também abordamos os problemas com transformadores aninhados, o que nos permitiu monomorfizar a maioria das variáveis de tipo que foramrestrito por Monadsimplify.Anteriormente, o simplificador era implementado usando um transformador Monad, simplifiert smt a, que foi parametrizado pelo tipo de solucionador SMT.Se m for unifiert, estamos trabalhando na Unifiert (Unifiert N), que aciona nosso erro de tipo personalizado.Para aproveitar a estrutura de dados do TMAP, tivemos que achatar nosso tipo de dados de avaliação manualmente, que é usado como chave.
Fonte: https://serokell.io/blog/optimizing-k-framework-part-2