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