tap() takes print() as a default function
small changes for speed-up in unpipe()