I think you should use underscores to separate all of the words instead of only some of them.
Right. Will fix.
Thanks for taking a look.
Also, note that the corresponding internal function is GetTopTransactionIdIfAny(), which might suggest txid_current_if_any() rather than txid_current_if_assigned(), but you could argue that your naming is better.
Yeah, I do argue that in this case. Not a hugely strong opinion, but we refer to txid_current() in the docs as:
"get current transaction ID, assigning a new one if the current transaction does not have one"
so I thought it'd be worth being consistent with that. It's not like txid_current() mirrors the name of GetTopTransactionId() after all ;) and I think it's more important to be consistent with what the user sees than with the code.