How would you introduce OCaml's (x, x) without leaving the impression that it tests equality?
Two explanations sound plausible at first. One says the first occurrence names a component and the second checks that name's value. The other says each variable in a pattern introduces a binding, so repeating it makes this pattern invalid. OCaml requires pattern bindings to be linear, which supports the second explanation.
For a tiny exercise, I would replace it with (left, right) when left = right, followed by a fallback case. Ask learners to predict the selected case for (3, 3), then change only the second component to get (3, 4).
Would you explain the binding restriction first, or begin with those competing explanations? The useful distinction is between giving components names and testing a relationship between their values.