---
- Use 2 (not 0) spaces for indentation.
- Provide an exception class and message as arguments to raise.
- Use `fail` instead of `raise` to signal exceptions.