These traits augment Rust's built-in traits to handle failure scenarios, which will allow us to encapsulate lowering logic into discrete, self-parsing units that enforce e.g. schemas (the example alludes to my intentions).