It's explained in the reddit thread. Most of it is because you have to handle a ton of what TCP does in userland.