It's (ht, data, key) not (ht, key, data).
This will be used by function inlining, the linker, and avoiding double usage of the LHS deref chains in ++, *=, and similar operations.