commented in detail a tough spot
take care of empty case
take names from first arg with names, recycle as needed
refresh
cleand up where interface
temporarily removed pryr dependency
setmethod doesn't really provide any adv here
make where.pipe work with the single arg api