-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Description
{-# LANGUAGE DataKinds #-}
import Control.Monad.Freer
import Control.Monad.Freer.Reader
import Control.Monad.Freer.State
import Data.Coerce
badness :: Eff '[Reader (Int, Int)] a -> Eff '[State Int] a
badness = coerce
boom :: (Int, Int)
boom = run $ evalState 17 (badness ask)I believe the fix is to add a role annotation
type role Union nominal nominalhere:
freer-simple/src/Data/OpenUnion/Internal.hs
Lines 39 to 41 in 5304190
| -- | Open union is a strong sum (existential with an evidence). | |
| data Union (r :: [Type -> Type]) a where | |
| Union :: {-# UNPACK #-} !Word -> t a -> Union r a |
(I can make a PR if welcome)
Metadata
Metadata
Assignees
Labels
No labels