Assertions to validate method input/output with nice error messages
https://github.com/webmozart/assert