Currently, our code for constructing a ServerDescription for publishing in an SDAM monitoring event assumes the description is well-formed - for ex. that the host-port String is formatted as host:port.
We do some force unwrapping, and a lot of casting/field lookups that may silently fail.
We might consider refactoring to better handle errors, and decide how we should handle publishing SDAM events where we run into such errors: do we skip them? do we publish them with a missing field? etc.
I think the server description parsing could probably also be rewritten to better take advantage of BSONDecoder.