tap: use dedicated exception for already tapped.
install: silently ignore already tapped taps.