The problem is that tAppend is too strict; it evaluates both its arguments before producing anything.