/// An immutable pair or 2-tuple /// TODO replace with Record once Dart 2.19 is available class Pair { final T1 first; final T2 second; const Pair(this.first, this.second); } /// An immutable triple or 3-tuple /// TODO replace with Record once Dart 2.19 is available class Triple { final T1 first; final T2 second; final T3 third; const Triple(this.first, this.second, this.third); }