when would "c" be present in self._all_conns here, didn't we just create it on line 838?

wouldn't this be the fix?

	--- a/lib/sqlalchemy/pool.py
	+++ b/lib/sqlalchemy/pool.py
	@@ -837,9 +837,9 @@ class SingletonThreadPool(Pool):
	             pass
	         c = self._create_connection()
	         self._conn.current = weakref.ref(c)
	-        self._all_conns.add(c)
	-        if len(self._all_conns) > self.size:
	+        if len(self._all_conns) > self.size + 1:
	             self._cleanup()
	+        self._all_conns.add(c)
	         return c