Try to conjecture append

Currently, I think it creates this function:

f xs ys = case xs of
    []   -> ys
    z:zs -> f zs (zs : ys)

???