O padrão de bolo de Scala pode ser implementado em Haskell?
Usando uma série de novos recursos de linguagem no Scala, é possível implementar um sistema de componentes componíveis e criar componentes usando o chamado Cake Pattern, descrito por Martin Odersky no paperAbstrações de componentes escalonáveis e também em umconversa recente.
Vários dos recursos do Scala usados no Cake Pattern possuem recursos correspondentes do Haskell. Por exemplo, os implícitos de Scala correspondem a classes de tipo Haskell e os membros de tipo abstrato de Scala parecem corresponder aos tipos associados de Haskell. Isso me faz pensar se o Cake Pattern poderia ser implementado em Haskell e como seria.
O Cake Pattern pode ser implementado em Haskell? Quais recursos do Haskell os recursos do Scala correspondem em tal implementação? Se o Cake Pattern não puder ser implementado no Haskell, quais recursos de idioma estão faltando para tornar isso possível?