It looks like .close() is called in the async __aexit__() method as well as the sync __exit__() method.
Given that context managers in python call the exit block in a similar way to a finally block, what's the motivation for recommending the calling of fga_client.close() at the end of context managers?