'checkAccept' checks whether a ledger can be accepted but also accepts it if possible. Maybe we should rename it to something like 'tryAccept'?