I'm starting to use psycopg2 together with greenlet/gevent and I noticed that when green psycopg2 connection errors are useless, since they always raise "asynchronous connection failed" exception and there's no way to know what exactly went wrong. Turns out that the patch for this is trivial (which I'm using), but I'm wondering if there's some underlying reason it wasn't done like that in the first place?