Shield.Rollback now throws if called out of transaction.