lazy version of for-each. At least one of the Lsts must be finite. For-each terminates at its length.