If you call disconnect on a socket while it's still trying to connect, you'll get a nasty traceback because its transport is null. While this might be uncommon in typical usage, it's a large issue in test suites. It can be worked around by stalling until the socket is connect but at least in v0.10.8 that seems to be sometimes taking longer than half a second. I've even had it take longer than 2s.
The ideal fix for this is for disconnect to be able to stop the connection no matter what state the socket is in.