Are there any calls to ConnectionInfoKey() that pass it anything other than the ->conn_info of some conn ?
If not, how about replacing with a function that takes the conn, instead of its ->conn_info ?
I think this applies to some of the other ConnectionInfo methods - only ever called on conn->conn_info, so why not refactor to take conn instead ...