that’s like saying addresses are enough to deliver mail. there’s still flow control , error correction , buffering , authentication , stream multiplexing, compression, encoding etc etc
streaming protocols handle this at the app layer but it would have been nice to have a protocol between reliable tcp and wild west udp