I think it should return the same promise as `.closed` returns... Probably the same for TCPSocket. Unless we already discussed this and I forgot why they return void?