Ну да. Вот, например:
## Код:
```
data List a = Nil | Cons a (List a)

foo Nil = что-то там
foo (Cons x xs) = что-то там ещё
```

Вот конкретный пример:
## Код:
```
data List a = Nil
            | Cons a (List a)

foo  Nil        = []
foo (Cons x xs) = x:foo xs

main = do
    print $ foo $ Cons 1 $ Cons 2 $ Cons 3 Nil
```
## Код:
```
[1,2,3]
```
