Estoy tratando de crear mi propio tipo de datos, que formará parte de la clase Monad, pero newtype Container a = Container a deriving Monad me da este error: * Can't make a derived instance of `Monad Container' (even with cunning GeneralizedNewtypeDeriving): cannot eta-reduce the representation type enough * In …
Tengo una docena de nuevos tipos como este: newtype MyBool = MyBool Bool newtype MyInt = MyInt Int Quiero reutilizar instancias existentes: instance MArray IOUArray Int IO where ... instance MArray (STUArray s) Int (ST s) where ... Implementar estas instancias y tener todo el código repetitivo es lo último …