added object.tap
seq.each: don't return the original sequence

It's confusing (a while loop doesn't return its input), and
object.tap is a better tool for injecting logging into
function chains (the main use of the old behaviour).