I don't really get the hate for TCP here. No one is forcing others to use TCP. It is perfectly fine to just use UDP if TCP is not the right fit for your scenario, and build whatever semantics you need on top of that. QUIC did it. What can't the author?