type_level_logic::strong::ternary
type UndefOr2<A: Nat, B: Nat, C: NatPair> = <A as NatUndefOr2<B, C>>::Output;