use Result;
use Stream;
use MainCmd;
/// The application state. This is currently passed to all functions that need it.
/// Entry point for the application.
///
/// It uses `anyhow` everywhere to easily propagate errors. Most errors are not
/// recoverable and simply need to be reported. Rusts runtime handles this
/// automatically, when an error is returned from `main()`.