I added an extra parenthesis when implementing this function in D14432, I started breaking things in a limited way D14472 by using `str(txin.outpoint)` (reading tx from file or from a pasted string), and it started getting really bad in D14520 when additional usage of `str(txin.outpoint)` in critical wallet code corrupted my test wallet file.