Error struct representing possible failures.
The error enum representing all possible errors that can originate from this crate.