`..., blah: bool, yadada: bool, ...` always bothers me because of the lack of type safety and that booleans tend to radically change the program behaviour. Is it worth introducing another type (`ConnectionOptions` ?) and make that the 3rd parameter. We could then provide defaults inside that type and users would explicitly be setting `options.use_ssl = false`.