Shared classes for Deventropy projects
Note: failures are anticipated and checked for with assertions while errors are unanticipated.