/// Generic pair. record Pair⟨T, U⟩ { /// First value. first: T, /// Second value. second: U, } instantiate Pair⟨i32, bool⟩; /// Construct a specialized pair. fn makePair(first: i32, second: bool) -> Pair⟨i32, bool⟩ { return Pair⟨i32, bool⟩ { first, second }; } /// Return the first value of a specialized pair. fn first(pair: Pair⟨i32, bool⟩) -> i32 { return pair.first; }