Hi all,
I have a data type looking like this:
data Foo e a where
Foo :: e → Foo e a
I would like to instantiate it to make it equivalent to:
data Bar a where
A :: String → Bar Int
B :: Maybe a → Bar a
How can I do that? With a functional dependency?
I probably need to change the definition of Foo.