pattern 9: eq
parameterized by F.
abstract: eq(a, b) → 0 if a = b (data identity), else 1
canonical: 0 if v_a = v_b else 1
eq compares data identity: atoms by field value, pairs by structural digest (Hemera hash of left/right sub-digests). returns 0 if equal, 1 if not equal (consistent with branch: 0 = take yes-branch). for pairs, the comparison uses the particle digest — structurally equal pairs always produce equal digests.
cost: 1. constraints: 1.