SocketError :: $extra renamed to $partial, misc code tidying and docs