hsunfoldr :: (a -> Maybe (b,a)) -> a -> [b] unfoldr f x = case f x of Nothing -> [] Just (z,x') -> z : unfoldr f x'
\a -> Maybe (b, a)
\x -> Just (b, a)
x
b
a