pipe: add #empty?