Interesting - that's my initial reaction too. Has thought been given to exposing a convenience function with variable arity?

The problem with the other way (using a global IORef) is that I still have to wrap the request using `withOpenSSL` and I think passing an SSLContext (if I have one) to the convenience function would be cleaner than always wrapping the request.

I know variable arity args in Haskell require some typeclass hackery but it would appear more friendly than using unsafePerformIO to me.