This custom Error struct will replace the existing ErrorKind enum for Pirate errors (though ErrorKind will remain in use)