У меня есть следующие данные
data A = C1 String | A :@: A
deriving(Show)
app inp = case inp of
a1 :@: a2 -> (C1 "a") :@: (C1 "b")
_ -> C1 "c"
Почему регистр возвращает ввод вместо (C1 "a") :@: (C1 "b")
?
*Test> app (C1 "c") :@: (C1 "d")
C1 "c" :@: C1 "d"
Работает нормально, если я изменю A :@: A
на C2 A A