On DRY and the cost of wrongful abstractions