if it's invalid, why not raise the ``InvalidValue`` exception? Is there backward-compatibility we need to maintain?