Есть ли способ сделать что-то подобное в haskell?
data Fruits = Apple Int | Orange Int deriving (Eq, Show)
basket = [Apple 2, Orange 4]
from_basket t (x:basket) =
case x of
(t i) -> i
_ -> from_basket t basket
Теперь я хочу получить "яблоко" из списка фруктов (корзины)
from_basket Apple basket
Без явного соответствия шаблону
case x of
Apple i -> ...
Orange i -> ...
_ ->