pub trait WithAlg {
type With<Input>;
}
impl WithAlg for () {
type With<Input> = (Input,);
}
impl<A0> WithAlg for (A0,) {
type With<Input> = (A0, Input);
}
impl<A0, B0> WithAlg for (A0, B0) {
type With<Input> = (A0, B0, Input);
}
impl<A0, B0, C0> WithAlg for (A0, B0, C0) {
type With<Input> = (A0, B0, C0, Input);
}
impl<A0, B0, C0, D0> WithAlg for (A0, B0, C0, D0) {
type With<Input> = (A0, B0, C0, D0, Input);
}
impl<A0, B0, C0, D0, E0> WithAlg for (A0, B0, C0, D0, E0) {
type With<Input> = (A0, B0, C0, D0, E0, Input);
}
impl<A0, B0, C0, D0, E0, F0> WithAlg for (A0, B0, C0, D0, E0, F0) {
type With<Input> = (A0, B0, C0, D0, E0, F0, Input);
}
impl<A0, B0, C0, D0, E0, F0, G0> WithAlg for (A0, B0, C0, D0, E0, F0, G0) {
type With<Input> = (A0, B0, C0, D0, E0, F0, G0, Input);
}