JMAP is sane, performant and easy to implement.
To check for new email and resync email state with IMAP should make separate call for each folder.
Even if the app tries to sync multiple folders simultaneously, the server often has a limit of max 2 connection.
With JMAP this can be done in a single call.
Microsoft's MSGraph API is similar but riddled with inner HTTP (429) errors in batch calls.
This needs extra logic to handle all cases.