// This file is by code gen, do not modify

impl<T> TupleSame<T> for (T, T) {}
impl<T0, T1> Tuple for (T0, T1) {
    fn arity(&self) -> usize {
        2
    }
}
impl<T> TupleSame<T> for (T, T, T) {}
impl<T0, T1, T2> Tuple for (T0, T1, T2) {
    fn arity(&self) -> usize {
        3
    }
}
impl<T> TupleSame<T> for (T, T, T, T) {}
impl<T0, T1, T2, T3> Tuple for (T0, T1, T2, T3) {
    fn arity(&self) -> usize {
        4
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4> Tuple for (T0, T1, T2, T3, T4) {
    fn arity(&self) -> usize {
        5
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5> Tuple for (T0, T1, T2, T3, T4, T5) {
    fn arity(&self) -> usize {
        6
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6> Tuple for (T0, T1, T2, T3, T4, T5, T6) {
    fn arity(&self) -> usize {
        7
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7) {
    fn arity(&self) -> usize {
        8
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8) {
    fn arity(&self) -> usize {
        9
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) {
    fn arity(&self) -> usize {
        10
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) {
    fn arity(&self) -> usize {
        11
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) {
    fn arity(&self) -> usize {
        12
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) {
    fn arity(&self) -> usize {
        13
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) {
    fn arity(&self) -> usize {
        14
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) {
    fn arity(&self) -> usize {
        15
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) {
    fn arity(&self) -> usize {
        16
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) {
    fn arity(&self) -> usize {
        17
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) {
    fn arity(&self) -> usize {
        18
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) {
    fn arity(&self) -> usize {
        19
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) {
    fn arity(&self) -> usize {
        20
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) {
    fn arity(&self) -> usize {
        21
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) {
    fn arity(&self) -> usize {
        22
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) {
    fn arity(&self) -> usize {
        23
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) {
    fn arity(&self) -> usize {
        24
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) {
    fn arity(&self) -> usize {
        25
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) {
    fn arity(&self) -> usize {
        26
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26) {
    fn arity(&self) -> usize {
        27
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27) {
    fn arity(&self) -> usize {
        28
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28) {
    fn arity(&self) -> usize {
        29
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29) {
    fn arity(&self) -> usize {
        30
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) {
    fn arity(&self) -> usize {
        31
    }
}
impl<T> TupleSame<T> for (T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) {}
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> Tuple for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) {
    fn arity(&self) -> usize {
        32
    }
}
