Cooperative multi-threading with explicitly marked suspension points is always going to be antithetical to designs that want to permit implicit IO operations (like lazily making a database query when a particular attribute is accessed, as is done by many Python ORMs). That's unavoidable, and why a tool like gevent will remain valuable even in a world with a standard Python event loop interface.