I think it's better to return 0 than a wrong value. As I said before I don't want to fail to not introduce a new side effect. Therefore I suggest to just return 0 for size when we know we will be wrong.