- If you don't catch bad data immediately, it will be propagated onwards and the program may fail in an unexpected way
- The problem and may not even be caught by your tests if the bad data is passed on to an external system and not checked by you
Use MooseX::Params::Validate, or Params::Validate.