Учитывая два типа даты, определенные следующим образом:
data Foo = Foo Bar String
data Bar = Bar Foo String
Как я могу сделать foo
и bar
такими, чтобы foo
было Foo bar "foo"
и bar
is Bar foo "bar"
?
Что если мы изменим типы на:
data Foo = Foo Bar (MVar String)
data Bar = Bar Foo (MVar String)