yeah, there's some bad juju happening here too:
https://github.com/brandonblack/mongo-ruby-driver/blob/2b3cd2a52973a8ff5e4863cae9852d0917411c9d/lib/mongo/functional/uri_parser.rb#L322-L350

like multiple traversals of the keys when you could easily do it in one pass. :( I held on of refactoring that since its unrelated, but I may come back since we have a little extra time.