ntsi::StreamSocket::bind requires reuseAddress to be specified when called. This is problematic when the value of reuseAddress has already been set by setOption before bind is called.
I think we should provide an overload to bind without requiring 'reuseAddress', so that we can choose to preserve the existing value of that option.