Technically this isn’t required: you can always implement an x-only hashfn yourself, and convert to a compressed pubkey to call secp256k1_ecdh(). But I’m not smart enough to figure that out myself (thanks @jonasnick !) so here we are.
API question: should the xonly version take a scalar or a keypair?
Impl question: should this implementation live in ecdh, extrakeys, or even a new ecdh_extrakeys module?
Thanks!