(some foo._unfold) foo._unfold : ∀ (xs ys zs : List Nat), foo xs ys zs = match (xs, ys) with | (xs', ys') => match zs with | z :: zs => foo xs ys zs | x => match ys' with | [] => [1] | x => [2]