Is the address optional? There are some valid, standard transactions that do not have an address in the output, like a pubkey or regular multisig (i.e., not p2sh multisig). Shouldn't we handle those cases as well?