pair
stdlib/core/pair.hk: Pair<A, B>, the generic two-field product.
Hanki has no tuple type; structs are the product type, and an API that would return an anonymous pair returns this named one instead (List.zip is the flagship consumer). Plain public fields, it is constructed call-style, Pair(first=1, second="a"). Annotate the binding (p: Pair<int, string> = …); a generic constructor call does not infer its type parameters from the arguments. Eq and Display synthesize on demand like any struct's, and == and interpolation work on pairs in user code; nothing here needs to differ from the structural derivation, and no impl is hand-written.
Pair
struct Pair<A, B>
first: A
second: B
end