<div dir="rtl"><div dir="ltr">Hello cafe,</div><div dir="ltr">I am trying to do the following:</div><div dir="ltr"><br></div><div dir="ltr"><font face="monospace">data Foo = Foo { a1 :: Int -> Int, a2 :: Int -> Char }</font></div><div dir="ltr"><font face="monospace">data Bar = Bar { a1 :: Int -> Int }</font></div><div dir="ltr"><font face="monospace"><br></font></div><div dir="ltr"><font face="monospace">funcĀ :: a -> Maybe (Int -> Int) -- a is either Foo or Bar</font></div><div dir="ltr"><font face="monospace">func (x::(Bar/Foo) = Just $ a1 x</font></div><div dir="ltr"><font face="monospace">func _ = Nothing</font></div><div dir="ltr"><font face="monospace"><br></font></div><div dir="ltr">I'm not sure how to implement this. All I know that the types are matching so I think it could be possible.</div><div dir="ltr"><br></div><div dir="ltr">Thanks for your help</div><div dir="ltr"><font face="monospace">-</font>Yotam</div></div>