use crate::eso::Eso;
#[allow(unused_imports)] use crate::maybe::Maybe;
#[allow(non_camel_case_types, missing_docs, clippy::upper_case_acronyms)]
pub mod t {
use crate::maybe::{An, No};
pub type ESO<E, S, O> = super::Eso<An<E>, An<S>, An<O>>;
pub type ESo<E, S, MO> = super::Eso<An<E>, An<S>, MO>;
pub type EsO<E, MS, O> = super::Eso<An<E>, MS, An<O>>;
pub type eSO<ME, S, O> = super::Eso<ME, An<S>, An<O>>;
pub type Eso<E, MS, MO> = super::Eso<An<E>, MS, MO>;
pub type eSo<ME, S, MO> = super::Eso<ME, An<S>, MO>;
pub type esO<ME, MS, O> = super::Eso<ME, MS, An<O>>;
pub type eso<ME, MS, MO> = super::Eso<ME, MS, MO>;
pub type ES<E, S, O> = super::Eso<An<E>, An<S>, No<O>>;
pub type Es<E, MS, O> = super::Eso<An<E>, MS, No<O>>;
pub type eS<ME, S, O> = super::Eso<ME, An<S>, No<O>>;
pub type es<ME, MS, O> = super::Eso<ME, MS, No<O>>;
pub type EO<E, S, O> = super::Eso<An<E>, No<S>, An<O>>;
pub type Eo<E, S, MO> = super::Eso<An<E>, No<S>, MO>;
pub type eO<ME, S, O> = super::Eso<ME, No<S>, An<O>>;
pub type eo<ME, S, MO> = super::Eso<ME, No<S>, MO>;
pub type SO<E, S, O> = super::Eso<No<E>, An<S>, An<O>>;
pub type So<E, S, MO> = super::Eso<No<E>, An<S>, MO>;
pub type sO<E, MS, O> = super::Eso<No<E>, MS, An<O>>;
pub type so<E, MS, MO> = super::Eso<No<E>, MS, MO>;
pub type E<E, S, O> = super::Eso<An<E>, No<S>, No<O>>;
pub type e<ME, S, O> = super::Eso<ME, No<S>, No<O>>;
pub type S<E, S, O> = super::Eso<No<E>, An<S>, No<O>>;
pub type s<E, MS, O> = super::Eso<No<E>, MS, No<O>>;
pub type O<E, S, O> = super::Eso<No<E>, No<S>, An<O>>;
pub type o<E, S, MO> = super::Eso<No<E>, No<S>, MO>;
pub type None<E, S, O> = super::Eso<No<E>, No<S>, No<O>>;
}
#[allow(non_camel_case_types, missing_docs, clippy::upper_case_acronyms)]
pub mod x {
use crate::maybe::{An, Maybe, No};
pub type ESO<ME, MS, MO> =
super::Eso<An<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type ESo<ME, MS, MO> = super::Eso<An<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, MO>;
pub type EsO<ME, MS, MO> = super::Eso<An<<ME as Maybe>::Inner>, MS, An<<MO as Maybe>::Inner>>;
pub type eSO<ME, MS, MO> = super::Eso<ME, An<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type Eso<ME, MS, MO> = super::Eso<An<<ME as Maybe>::Inner>, MS, MO>;
pub type eSo<ME, MS, MO> = super::Eso<ME, An<<MS as Maybe>::Inner>, MO>;
pub type esO<ME, MS, MO> = super::Eso<ME, MS, An<<MO as Maybe>::Inner>>;
pub type eso<ME, MS, MO> = super::Eso<ME, MS, MO>;
pub type ES<ME, MS, MO> =
super::Eso<An<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
pub type Es<ME, MS, MO> = super::Eso<An<<ME as Maybe>::Inner>, MS, No<<MO as Maybe>::Inner>>;
pub type eS<ME, MS, MO> = super::Eso<ME, An<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
pub type es<ME, MS, MO> = super::Eso<ME, MS, No<<MO as Maybe>::Inner>>;
pub type EO<ME, MS, MO> =
super::Eso<An<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type Eo<ME, MS, MO> = super::Eso<An<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, MO>;
pub type eO<ME, MS, MO> = super::Eso<ME, No<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type eo<ME, MS, MO> = super::Eso<ME, No<<MS as Maybe>::Inner>, MO>;
pub type SO<ME, MS, MO> =
super::Eso<No<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type So<ME, MS, MO> = super::Eso<No<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, MO>;
pub type sO<ME, MS, MO> = super::Eso<No<<ME as Maybe>::Inner>, MS, An<<MO as Maybe>::Inner>>;
pub type so<ME, MS, MO> = super::Eso<No<<ME as Maybe>::Inner>, MS, MO>;
pub type E<ME, MS, MO> =
super::Eso<An<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
pub type e<ME, MS, MO> = super::Eso<ME, No<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
pub type S<ME, MS, MO> =
super::Eso<No<<ME as Maybe>::Inner>, An<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
pub type s<ME, MS, MO> = super::Eso<No<<ME as Maybe>::Inner>, MS, No<<MO as Maybe>::Inner>>;
pub type O<ME, MS, MO> =
super::Eso<No<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, An<<MO as Maybe>::Inner>>;
pub type o<ME, MS, MO> = super::Eso<No<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, MO>;
pub type None<ME, MS, MO> =
super::Eso<No<<ME as Maybe>::Inner>, No<<MS as Maybe>::Inner>, No<<MO as Maybe>::Inner>>;
}
#[allow(non_camel_case_types)]
pub mod s {
use super::t;
use crate::maybe::Maybe;
pub type SO<S, O> = t::SO<S, S, O>;
pub type sO<MS, O> = t::sO<<MS as Maybe>::Inner, MS, O>;
pub type So<S, MO> = t::So<S, S, MO>;
pub type so<MS, MO> = t::so<<MS as Maybe>::Inner, MS, MO>;
pub type S<S, O> = t::S<S, S, O>;
pub type O<S, O> = t::O<S, S, O>;
pub type s<MS, O> = t::s<<MS as Maybe>::Inner, MS, O>;
pub type o<S, MO> = t::o<S, S, MO>;
pub type None<S, O> = t::None<S, S, O>;
}