To partly address #2 we should raise an exception if someone passes a negative argument to `Counter.add`.