overwriting an existing impl would leave it stranded in the lookup; so it now removes any pre-existing impl