My assumption is that afterSave() can roll back a transaction if it returns false, since the docs explicitly state that afterSaveCommit() runs after a transaction.
Rather than assume, I thought I would ask. If correct, I’ll add a clarification in the docs about this.